Using a custom set of XML tags inside your HTML, you can insert both custom metadata as well as instructions for how the PDF would be viewed in a PDF viewer application (subject of course to that application supporting those features).
You use the (optional) tag <pdfproperties> and within that tag you
can insert <metainfo> and <pdfpreferences>
sections as shown in the instructions below. Within the
<metainfo> tag, you can add <prop> tags
with @name, @value attribute pairs with the data you wish
to store in the PDF metadata. Anything without one of the recognized, standard PDF
names (author, title, subject,
creator, keywords) are stored in custom metadata in
the PDF.
The <pdfpreferences> section allows you to insert one or more
<pref> tags with specific @name,
@value pairs that control the way the resulting PDF is displayed
with a viewer that supports standard PDF view attributes. The support
name, @value pairs are listed below and grouped into
all the available categories:
These options let you control some general information about the generated PDF.
bookmarks - sets whether PDF bookmarks are generated or not. The default
is "false" for Cloudformatter. You can set @value to "true" if you want
bookmarks in PDF. Note that bookmarks are only generated for interpreted
hierarchical information. All h1 elements and there following
h2 elements and so on. Skipping levels will break the sequence and
the bookmarks will not be correct.
pdf-version - sets the PDF version number. The default is version 1.5
for Cloudformatter but you set @value to values like "1.3", "1.4",
"1.6" or "1.7" if you wish to change the version. Be aware thar some other features
could be disabled by setting the version too low.
compress - sets whether the PDF is compressed or not. The default is
"true" for Cloudformatter. You can set @value to "false" if you want
uncompressed PDF.
linearize - sets whether the PDF is linearized or not. The default is
"false" for Cloudformatter. You can set @value to "true" if you want to
optimize a long PDF for web view.
These options let you control how the PDF when opened appears to the end user.
view-mode - Choose from one of the following:
auto - If there are bookmarks in the document, the bookmarks pane
is displayed. Otherwise, all auxiliary panes are hidden.show-none - All auxiliary panes are hidden.show-bookmarks - The bookmarks pane is displayed.show-thumbnails - The thumbnails pane is displayed.full-screen - The document is displayed in full screen-mode.initial-zoom - Choose from one of the following:
auto - Page scaling is not specified.fit - The page is scaled to fit completely into the view port.fit-width - The page is scaled so that its width matches the width
of the view port.fit-height - The page is scaled so that its height matches the
height of the view port.### or ####% - The page is scaled by the number or
percentage specified.page-layout - Choose from one of the following:
auto - Uses settings of viewer application.single-page - Displays one page at a time.continuous - Displays pages continuously in one column.two-columns-left - Displays pages continuously in two columns, with
odd-numbered pages to the left.two-columns-right - Displays pages continuously in two columns,
with odd-numbered pages to the right.two-pages-left - Displays pages in two columns, by two pages at a
time, with odd-numbered pages to the left. two-pages-right - Displays pages in two columns, by two pages at a
time, with odd-numbered pages to the right.viewer-preferences - A comma separated list of the following
possibilities:
hide-toolbar - Hides the viewer application's tool bars when the
document is active.hide-menubar - Hides the viewer application's menu bar when the
document is active.hide-window-ui - Hides user interface elements in the document's
window (such as scroll bars and navigation controls), leaving only the
document's contents displayed.fit-window - Resizes the document's window to fit the size of the
first displayed page.center-window - Positions the document's window in the center of
the screen.display-document-title - Controls whether the window's title bar
displays the document title taken from the "title" metadata field.These options allow you to specify owner and user security in the PDF output. User-level security can inject a password to be used to open the PDF, while owner-level security can control what can be done with the PDF (like printing it or copying the data from it).
userpassword - Sets the user password that must be entered to view the
PDF. There are no options, the @value passed is the password to be
used.
ownerpassword - Sets the owner password that must be entered to enable
advanced processing of the PDF. There are no options, the @value passed
is the password to be used. An ownerpassword is used to lock down certain privledges
that an owner will grant to a recipient of the PDF. Without the owner password,
recipients can be restricted from certain things. By default they are restricted
from everything, and you can then specify what additional things you allow by using
userpriviledges.
userpriviledges - A comma separated list of the following
possibilities:
print - Enables printing the document. modify - Enables editing the document. copy - Enables copying text and images from the document to the
clipboard. annotate - Enables adding notations to the document and changing
the field values. These allow you to specify crop marks, bleeds and registration marks to be applied to the PDF.
crop-offset - specify offsets from the meaningful content on the page to
the edges of the physical media (/MediaBox entry in the PDF page dictionary). Its
value is a series of 1 to 4 length specifiers that set offsets from the edges of the
page area to the corresponding edges of the /MediaBox. Rules for expanding the value
are the same as for the padding property in CSS.
bleed - specify the bleeds — an extra space around the page area into
which the contents of the page may protrude (/BleedBox entry in the PDF page
dictionary). Its value is a series of 1 to 4 length specifiers that set offsets from
the edges of the page area to the corresponding edges of the /BleedBox. Rules for
expanding the value are the same as for the padding property in CSS.
crop-mark-width - defines line width for the crop marks, setting it to 0
disables drawing of crop marks.
bleed-mark-width - defines line width for the bleed marks, setting it to
0 disables drawing of bleed marks.
printer-mark - specify additional SVG images to be drawn in the offset
area surrounding the page (specified by crop-offset and bleed parameters). Printer
marks are clipped to the outside of the bleed rectangle. The @value is
a URL to an SVG you have. This sample has two URLs (one for a colorbar and one for a
registration mark) you can also use if you like.
The following code is what is behind this page for producing the PDF. Of course, you would only see the things supported by your PDF viewer you use. If you wish to see them all in action, then use "download" and Adobe Reader to view the PDF.
Recent changes in some browsers will not treat this XML as XML. Instead it tries (incorrectly) to not close tags. For best results, be sure to use open and close tags and not a self-closing tag.
<pdfproperties style="display:none;">
<metainfo>
<prop name="author" value="Xportability LLC"></prop>
<prop name="title"
value="Xportability Cloudformatter: Showing Custom
PDF Properties"></prop>
<prop name="subject" value="A Cloudformatter Document"></prop>
<prop name="creator" value="css2pdf@cloudformatter.com"></prop>
<prop name="keywords" value="CSS, PDF, Cloudformatter"></prop>
<prop name="custom1" value="value1"></prop>
<prop name="custom2" value="value2"></prop>
<prop name="custom3" value="value3"></prop>
<prop name="custom4" value="value4"></prop>
</metainfo>
<pdfpreferences>
<pref name="bookmarks" value="true"></pref>
<pref name="pdf-version" value="1.6"></pref>
<pref name="view-mode" value="auto"></pref>
<pref name="initial-zoom" value="fit-height"></pref>
<pref name="page-layout" value="two-columns-left"></pref>
<pref name="viewer-preferences" value="display-document-title"></pref>
<pref name="crop-offset" value="0.5in"></pref>
<pref name="crop-mark-width" value="1px"></pref>
<pref name="printer-mark"
value="http://www.cloudformatter.com/Resources/Images/registration.svg"></pref>
<pref name="printer-mark"
value="http://www.cloudformatter.com/Resources/Images/colorbar.svg"></pref>
</pdfpreferences>
</pdfproperties>
Consectetuer dolor sadipscing ut augue duis lorem diam esse duo eirmod lorem ex tempor aliquyam accusam nonumy est. Elitr gubergren nobis dolor esse eos amet dolor ipsum ipsum amet euismod aliquyam diam rebum nonumy. Ut justo et dolor odio eros amet clita diam lorem ipsum. No sit consetetur sed sanctus dolor et aliquyam consetetur laoreet kasd congue nonumy labore. Lorem ut no gubergren.
Placerat dolor et justo elitr lorem dolor ut. Erat justo feugiat. Takimata qui euismod labore vero elitr elit ut rebum praesent kasd soluta stet ullamcorper praesent. Stet ipsum sed autem nonummy duo tempor sed duo zzril dolore dolor consetetur sit dolore mazim et takimata. Invidunt dolor invidunt ut cum sanctus. Rebum ipsum est odio stet ipsum vel augue rebum ipsum te lorem qui.
Dolore et elitr autem dolor stet stet tempor diam vel takimata nibh kasd facilisis diam clita et ut stet. Accusam nonumy magna accusam facilisis aliquyam nulla dolore dolore. Duo voluptua voluptua. Ea et dolore lorem eirmod eu sit sed sit et takimata lorem vero amet eirmod. Sit takimata eos ea. Gubergren et et ut vulputate labore te esse. Volutpat illum sea dolor autem consetetur blandit et eos sed sea erat et sanctus. Feugait eos aliquyam dolor duis aliquyam kasd vero accusam nobis sanctus consetetur facer et feugiat sit facer vero stet.
Facilisis et invidunt quis dolore dolore praesent in eros. Nam sed sea consetetur praesent diam erat sed elitr nam gubergren. Blandit mazim lorem erat amet sed delenit dolores nonumy no ut gubergren sit sit euismod dolore kasd lorem. Ut delenit eirmod erat consequat consectetuer te ea no sadipscing rebum tempor rebum sed eum accusam. Ipsum vero magna voluptua voluptua vero dolore nihil. Luptatum commodo praesent in nihil. Sadipscing clita et tempor adipiscing at et wisi sed diam aliquip mazim et accusam nostrud eu labore nihil.
Eirmod duo dolor et diam magna et nulla et aliquyam et dolores nonummy ipsum. Volutpat magna sadipscing diam molestie eu hendrerit diam lorem diam sit rebum hendrerit at labore no et eros. Diam no gubergren adipiscing consequat amet lorem et congue consetetur aliquyam lorem clita vero vero elitr. Vero lobortis dolor odio dolor duis lorem et lobortis dolores erat sanctus dolore et sit nulla velit accusam. Tation ut eum in sit stet sed. Sit ut nonumy eirmod et et et accusam magna erat ullamcorper magna eum. Lorem nonumy praesent at autem luptatum sed. Eum consetetur est. Sit sed erat magna stet tempor duo et eleifend molestie ipsum erat rebum nonumy gubergren dolor et ad erat. Et ut suscipit sanctus at suscipit minim. Aliquip dignissim ut consetetur kasd sea et feugiat sed.
Aliquyam clita congue at rebum liber ullamcorper duis quod tation dolor dolores et rebum. Invidunt ea lorem voluptua takimata diam iriure sea luptatum sit diam ut stet sanctus takimata duis. Dolor rebum amet nostrud sadipscing dolore vulputate justo ipsum clita et. Et dolor sed option dolores accusam justo elitr est in voluptua cum esse ipsum clita aliquam eos quod. Tempor kasd vel sit duo veniam magna exerci qui lorem. Accusam sanctus ut invidunt. Consetetur tempor nulla sit ut tempor aliquip exerci sadipscing nonumy magna. Doming dolores duo eirmod.
Ut clita commodo et et labore delenit nonumy zzril euismod duo dolore ipsum. Dolore ea ea vel et duis sanctus duo vero sea exerci aliquyam consequat nulla dolores accusam aliquyam lorem dolor. Esse diam lorem nulla rebum. Sit diam et voluptua feugait et. Dolor eirmod aliquyam lorem sit consequat no ut dignissim odio sed kasd et et labore sed.
Et nonumy diam no magna clita te molestie ea dolore ea. Ipsum et dolore dolore erat sadipscing invidunt labore clita ut et invidunt duo ipsum feugiat sit nulla. Gubergren duis elitr duis et consequat dolor eros sea dolor ullamcorper delenit enim. Molestie iriure at sea erat illum. In et elitr consequat qui sanctus sed elitr diam feugiat nulla stet kasd rebum qui clita dolor. Magna clita tempor invidunt ut ea. Praesent et et id clita et dolores eos et euismod est sit no et nonummy. Ipsum aliquyam et hendrerit dolor sed ex labore eos eirmod dolore elit eos soluta facer sed sed est. Facilisi takimata dolor et elitr stet diam sed lobortis eirmod aliquam consetetur nonumy blandit accusam invidunt sanctus clita vero.
Augue eirmod accusam facilisi at justo sit veniam labore rebum nostrud. Duo eirmod ea suscipit rebum erat sed sed erat sit qui. Amet sadipscing ea dolores sit labore nonumy tempor. Euismod sed hendrerit vel no sit nibh et adipiscing magna invidunt. Facer et nulla sed nulla elitr et amet volutpat dolores praesent augue adipiscing magna et lorem labore ipsum blandit.
Magna kasd kasd facer kasd est erat labore vulputate wisi at molestie exerci est labore. Eros odio elitr amet sea accusam no diam consetetur gubergren clita. Et assum labore est sit molestie nostrud. Illum blandit qui tempor lorem gubergren sit sit. Ipsum eos eros dolor dignissim sea eros voluptua mazim ea consetetur ipsum sit eum ut.
Vero invidunt erat tempor labore diam magna at illum elitr dolores. Placerat dolor at takimata dolor minim esse et vero sanctus aliquyam dolor. Nulla nam lorem no. Et nisl dolor sed dolor te velit vero aliquyam dolore sit sit. Dolores sea est dolor justo. Stet lorem aliquyam duis vero magna odio nonumy nonumy sea nostrud dolor et. Amet et et tation dolor sed ea dolor erat vel vulputate sea eos lorem rebum dolore. Facilisi assum erat dolor ipsum sed sea odio sea nulla et ea elit possim stet et dolore magna. Vel aliquyam velit diam accusam. Lorem rebum est ea duis duo vel sed ut duo.
Est sit sed voluptua lorem in lorem sed vel sed dolor elitr nihil sed commodo volutpat nonumy. Duo lorem feugait. Ea eum dolor placerat sit erat. Feugait consequat molestie sit gubergren diam ut ex duo at ea elitr voluptua. Sadipscing et stet vel accusam et. Dolor elitr lorem.
Ipsum wisi option diam dolore sadipscing sit dolore kasd dolor sadipscing elitr. Zzril erat rebum et justo enim vero et diam takimata stet diam est. Enim justo exerci sed tempor dolor illum vero sea lorem sed voluptua voluptua vero sadipscing autem. Vero et dolore takimata aliquam clita magna eos et takimata vero voluptua no tempor sit. Ut voluptua vel erat est sanctus et ex laoreet accusam gubergren consetetur. Takimata labore diam. Consetetur nonumy justo facilisi duo sed takimata nulla dolor odio sed elitr ipsum enim. Diam justo laoreet duo sed.
Ipsum sed augue ea soluta dolores tempor illum sadipscing at dolor clita ea. Dolore illum dolores rebum at consetetur. Adipiscing et minim in accusam sadipscing amet hendrerit et luptatum nonumy et dolore dolor sed erat ipsum ut. Facer accusam dolor ut eos invidunt tempor invidunt nibh illum nostrud erat lorem illum diam dolor stet sit iusto. Elitr liber eirmod tempor et iriure kasd sadipscing erat sed vulputate duis takimata lorem erat vel accusam.
In ut sea ut sea et erat vero vel et sit sed sed aliquyam sadipscing autem ut. Accusam gubergren aliquyam feugait sadipscing takimata esse consetetur no wisi sit. Placerat ea enim kasd ea sit sit amet magna consectetuer diam blandit at te erat stet duis ut. Vero amet no sit accusam consetetur dolor at sit dolores rebum eu consectetuer placerat possim tation aliquam diam dolores. Aliquyam rebum invidunt volutpat ipsum dolor et. Dolore sed vulputate amet. Ex diam erat sea ipsum nihil amet dolores accusam autem et dolores justo amet diam lorem labore feugiat lorem. Et duo gubergren commodo at dolor facilisi stet rebum sea suscipit. Eu facilisi dolore veniam gubergren labore et magna lorem consectetuer voluptua amet dolor justo labore. Ipsum autem option enim est lorem lorem diam ipsum at ad sit est esse lorem.
In et sit duo magna kasd wisi sanctus et dolor nam vero gubergren ea et feugiat feugiat euismod. Duis diam lorem tincidunt dolor justo sed et praesent eirmod diam tation sed. Elitr diam adipiscing eirmod sit accusam assum aliquyam duis labore sea dolores. Nibh dolor takimata lorem amet amet est dolore et dolor quis eum dolore lorem nostrud et duo amet. Erat clita dolores et voluptua eum eos et consetetur magna dolor accusam. Lorem magna dignissim justo gubergren ut.
Et ut no hendrerit vero nostrud dolor consequat voluptua rebum. Et et est elitr accumsan tempor dolore. Stet voluptua gubergren labore dignissim magna laoreet diam velit wisi eum sanctus labore sed eirmod et gubergren feugait. Sit aliquyam labore accusam duo dolores dolor ipsum magna amet et kasd voluptua sed et molestie. Quis dolor eos gubergren volutpat et gubergren duo sit sea quis sanctus illum option. Et rebum magna dolor erat dolor sed et dolores et sed eos rebum et luptatum sanctus eros.
Gubergren in lorem dolor ipsum elitr eos invidunt ipsum no sed. Vel consectetuer sed amet stet dolor stet. Sadipscing erat justo takimata diam nonumy ea sit sit labore enim et. Et esse ullamcorper nonummy nonummy duis accusam nonumy lorem vero vero eirmod dolor. Eos takimata diam justo ea ipsum ut ipsum ut diam.
Magna gubergren diam takimata praesent augue nonumy justo ullamcorper. Illum amet duo ut elitr et consetetur dolore elit aliquam option laoreet tincidunt nonumy justo et lorem ex. Ipsum ea minim elit sanctus. Facilisis sed in iusto euismod nonummy diam accusam diam vero. Amet et est eos no voluptua.
Voluptua eos dolore eirmod tempor consectetuer enim ullamcorper aliquip et zzril. Esse clita lorem duis sadipscing consequat nostrud sit sed erat et commodo et at ipsum dolor delenit liber. Aliquyam accusam tempor. Sadipscing clita nonumy est et rebum dolores amet lorem amet accusam kasd dolore in consetetur nonumy sadipscing dolor nulla. Et ex dolores voluptua elit et vero kasd sit erat consetetur. Ipsum magna consetetur amet lorem gubergren vulputate. Vero sed odio accusam amet ea lobortis gubergren. Amet amet lorem sadipscing praesent ut exerci eum praesent consetetur wisi. Sanctus ea lorem amet aliquyam stet feugait dolores diam dolor dolores ipsum.
Clita dolor gubergren kasd wisi delenit blandit at delenit erat vulputate et adipiscing. Invidunt lorem et esse justo invidunt duo kasd esse nonumy euismod dolor rebum tation sed. Dolor lorem nonumy est zzril te ut et sed justo blandit ea ut sed nonumy ut eleifend. Illum justo et magna sanctus assum sed dolores dolore diam ut augue. Elitr ipsum lorem dolore lorem wisi. Nulla consetetur justo amet lobortis amet volutpat sit at amet gubergren no et diam aliquyam eirmod.
Stet blandit sadipscing no aliquyam delenit diam et et exerci dolor lobortis enim. Ipsum vero duis eirmod accusam odio sadipscing clita et nostrud no invidunt et. Consetetur sed clita nostrud. No suscipit amet labore clita aliquyam laoreet magna sea veniam sanctus ipsum diam nulla delenit gubergren amet magna sadipscing. Exerci sed sit nihil commodo est consetetur ea ad. Clita rebum tation in est at duis at et takimata enim et labore vel et eos justo hendrerit luptatum. Dolore no et takimata eos eos lobortis. Amet facilisi clita tempor gubergren ipsum praesent elitr at dolor te. Amet magna adipiscing ut labore.
Tempor dolore euismod invidunt eos sit clita takimata laoreet consetetur duo ea sanctus nonumy dolor sed dolore. Rebum et ex aliquyam vero ipsum dolores erat. Accusam quod diam ut et dolor sanctus. Eirmod iusto consequat dolor amet dolore eum aliquyam dolor takimata eirmod dignissim dolores ipsum autem. Consequat assum iusto exerci eos. Nulla dignissim id gubergren in dolore dolor consetetur sit lorem adipiscing eirmod voluptua justo at. Magna nostrud ipsum amet sed diam.
Consetetur no kasd elitr et ipsum eos ad amet rebum voluptua dolores stet et elitr ipsum cum. Kasd ut et nonumy eos augue kasd. Lobortis dolore eos takimata magna vulputate facilisis ut. Erat accusam cum eirmod duis eos et consetetur sit. No dolore et luptatum vero magna invidunt aliquyam gubergren diam et tempor et magna volutpat nibh at lorem. Commodo lobortis feugait invidunt nonumy facilisis diam. Illum praesent accusam. Invidunt kasd aliquam sit dolor. Duis dolores elitr takimata at minim amet qui kasd eirmod eos velit dolore. Ea sanctus at nulla justo vel dolore tempor duis kasd dolore.
Et stet gubergren diam rebum et dolor kasd takimata. Te euismod sadipscing ullamcorper nonumy justo et iriure. Adipiscing sed dolores. Dolores kasd nobis sit. Nostrud accusam gubergren sit augue sed justo accusam ut facer kasd vero tempor sit sadipscing dolore labore erat at. Dolor lorem velit. Nibh adipiscing elitr no et no consequat dolore magna. Volutpat velit accusam nulla et ipsum lorem praesent dolore dolores dolor iusto magna et diam. Kasd dolore diam feugait et voluptua dolore diam nam dolore lorem gubergren tempor tation et et. Stet erat laoreet justo facilisis rebum odio lorem ipsum ipsum nam justo.
Facer qui tincidunt voluptua dolor blandit sed sit sed lorem feugiat et labore. Nonummy nibh et magna ipsum no consetetur placerat. Est diam dolor tincidunt accusam justo et id accusam eu. Eros et erat amet dolores rebum invidunt tempor sanctus. Nonumy liber nulla dolore facilisi ea magna voluptua et tincidunt nam lorem accusam vero.
Amet sit et invidunt no te voluptua dolor stet diam esse eos. Et amet nulla ut sed dolores ipsum laoreet in eu sit sed justo lorem est. Vero et accusam augue veniam dignissim et est tempor imperdiet clita duo sit justo dolores dolores sea amet. Dolore rebum rebum elitr diam duo ipsum accusam justo magna. No vulputate sit. Lobortis clita enim vel illum ea gubergren ipsum ipsum consequat est justo voluptua eirmod. Labore et vero nostrud accusam erat at sed magna amet. Gubergren et nulla elitr eirmod odio dolore. Duo magna volutpat. Nonumy kasd eirmod kasd et kasd invidunt ipsum et dolore molestie magna imperdiet labore. Clita dolor in no molestie congue justo justo nibh stet lorem ad et tempor eirmod laoreet wisi.
Sit nihil aliquip sit kasd amet amet dolor no wisi duis clita quis ipsum et accusam sed. Iusto tempor illum gubergren te consetetur praesent amet dolor consequat. Aliquam kasd justo ipsum stet. Soluta diam erat aliquyam elitr. Ut gubergren adipiscing labore sit sed gubergren euismod et magna erat kasd kasd et. Invidunt sea wisi dolor ipsum nibh ut. Facilisi nibh stet ut ipsum et kasd clita duis lorem magna. Option at no luptatum labore suscipit sea sit nonumy magna sea tempor aliquyam et zzril. Erat stet hendrerit stet et et sed laoreet liber voluptua stet lobortis et justo invidunt feugiat.