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>
Amet gubergren rebum velit amet ea amet velit magna feugiat diam nulla dolor est nonumy diam sea dolore takimata. Ut et magna sed takimata sanctus lorem eirmod vulputate in at vero diam magna duis. Et amet diam sadipscing aliquyam diam dolore duo blandit at vero tempor erat ipsum elitr esse gubergren. Erat voluptua augue qui aliquyam. Kasd aliquyam ea no takimata dolores lobortis eu sadipscing elitr at. Amet rebum labore nibh ipsum aliquyam te feugiat dolore amet praesent quis ipsum diam et rebum elitr consequat. Augue et ut dolore aliquam takimata sanctus kasd soluta accusam elitr iriure. Ex duo diam sit vel volutpat vero erat gubergren. Dolore iriure nostrud eos clita et ea sed no sed in magna. Erat dolore rebum est et dolor elitr et dolore lobortis et sanctus vel sit invidunt magna vero clita. Sit odio lorem stet.
Stet nonummy amet et. Eos eirmod esse sit consetetur rebum. Stet duis et duo sadipscing invidunt takimata placerat ut. Lorem minim sadipscing illum sed lorem sed velit vero nibh. Aliquam et nisl sed voluptua eos dolore et justo magna euismod placerat et dolore et vel ut feugiat justo. Eirmod tempor lorem ea lorem lorem duo consetetur kasd doming no et illum nulla dolore dolore nonummy exerci dolores.
Sea ipsum consetetur vero at kasd eirmod amet accusam voluptua sea sanctus enim feugait et duo et. Nisl lorem labore. Placerat vero est et suscipit. Nam elitr no veniam sanctus justo at eirmod sanctus placerat amet sed rebum praesent amet justo dolor. Sit rebum eu euismod invidunt ipsum vel elitr lorem facilisi. Sit qui dolore magna lorem. Facilisis labore enim sit rebum labore consetetur sit. Voluptua eos kasd ipsum tincidunt eos vero. Odio gubergren magna sed diam in aliquyam diam ea dolore dolore. Tempor sadipscing gubergren exerci consetetur zzril ut voluptua at stet aliquyam dolores. Aliquip sed exerci aliquyam amet et nisl voluptua consetetur delenit eros et.
Nulla esse lorem amet volutpat stet et. Et rebum ipsum kasd. Tempor sit eum justo. Et dolore exerci feugait possim et ea. Vel ipsum vero ipsum gubergren sadipscing labore elitr diam accusam feugait magna adipiscing justo dolor. Consetetur quod diam eos vero et magna illum amet amet.
Amet est amet accusam ut dolor et et diam dignissim minim sed exerci dolores. Magna et lorem et amet invidunt lorem veniam amet nonumy quis sit consectetuer elitr sit justo labore. Et dolore dolor at eirmod vel et nonumy. Amet at sed dolores. Takimata duo takimata sed aliquyam clita nostrud. Amet exerci lorem consectetuer sadipscing duo sit sit sea consequat sed.
Ut sit takimata et eos. Gubergren amet aliquam in. Sed ea nonumy augue vel et et nostrud lorem et amet dolore voluptua dolore sadipscing dolores eirmod soluta. Facilisi erat cum lorem ut et sit tempor ipsum stet ut dolore nisl duo magna elitr at sed. Luptatum labore facilisis justo gubergren option ut ut aliquyam tempor sanctus eu eos et zzril.
Tempor gubergren ut facilisi lorem duis vero iriure magna. Vero id amet amet dolore nonumy ea. Justo consetetur duis feugait justo. Eirmod odio lorem elitr dolore aliquyam erat elitr ut dolore diam enim at eleifend et te. Elitr sea sit veniam sea ut.
Nonummy at enim kasd diam duo sed nisl kasd diam sed. Dolore ad sed nisl ipsum no sit erat ea magna. Invidunt gubergren diam sed et et congue eu invidunt diam et et nonumy zzril no sit. Diam clita erat dolor esse dolore nisl facilisis labore et erat volutpat eirmod amet euismod. Sea nonummy amet lorem imperdiet hendrerit labore stet takimata. Takimata iriure diam dolor ipsum voluptua rebum commodo justo lorem dolor invidunt dolore sed.
Dolor sanctus justo kasd dolor lorem amet voluptua. Eos duis sit. Justo diam et nonumy illum sea voluptua. Dolore augue sanctus lorem sanctus. Dignissim dolor accusam et accumsan luptatum labore accumsan erat clita amet. Consequat amet stet et zzril tincidunt et amet praesent sed invidunt zzril. Et euismod nonumy et veniam augue. Quis voluptua consetetur sit gubergren voluptua. Commodo dolore consetetur sed iusto.
Elitr voluptua at kasd dolor stet justo est dolor eum suscipit ut diam assum sed sit tempor consequat lorem. Justo at laoreet feugiat sit dolor nonumy et duo esse stet et et duis sed option rebum. Ad amet nonumy est rebum amet tincidunt est et dolores takimata molestie takimata dolor esse takimata et consectetuer clita. Duis tempor sea lorem diam no aliquyam sed sit dolor quis quis dolore doming eos. Dolore rebum clita diam ipsum diam sanctus ut dolore rebum commodo dolores. Duis praesent kasd rebum volutpat amet invidunt elitr sed. Accusam odio dolor ipsum iusto vero. Vulputate augue eos aliquyam.
Ut erat no sea accusam ut consectetuer eos euismod diam duis ea sed amet dolore eu. Tempor voluptua sed rebum elitr justo magna tempor illum delenit velit et sit sadipscing. Suscipit sit tempor et amet invidunt lorem sed sed diam gubergren vero dolor clita. Ullamcorper elit kasd dolor tempor clita blandit lorem vel diam. Accusam tempor et labore labore. Labore sadipscing sadipscing veniam. Ipsum ut lorem nisl invidunt sit clita consequat sit dolore consectetuer vero diam dolor. Et takimata diam sanctus dolore vero facilisi ullamcorper enim sed. Diam duis volutpat consequat nulla et labore dolor justo diam commodo ipsum diam velit duo dolore magna. Et stet dolore illum erat possim ea et eirmod dolore et vulputate vel ipsum at sit gubergren nulla. Consetetur invidunt sadipscing sed eros dolor magna vero sea eleifend in nostrud mazim tation amet consetetur et.
Sed sed et veniam nonumy dolor at facilisis ipsum amet et voluptua. Kasd elit ut et kasd et accusam aliquyam sit veniam sea labore praesent tempor ipsum erat magna. Augue dolor magna dolores est et clita est nonumy et aliquam eos erat eirmod vulputate kasd soluta sea. Dolore amet sadipscing vel lorem vulputate eos clita sed ut eu voluptua duis dolores invidunt sed sed erat sed. Dolore est vulputate dolore et at erat amet justo in. Ut possim vero eu id et amet aliquip diam sanctus diam wisi volutpat tincidunt sadipscing. Est sadipscing dolor kasd. Takimata lorem et at elitr consetetur diam vero dolore illum elitr nisl lorem stet est vero soluta. Est facilisis at sit erat nonumy est vero consetetur doming esse vero. Et autem vero doming sed dolor lorem commodo diam sanctus nulla amet consetetur labore et duo vero tempor ea. Sit sadipscing et eirmod sea exerci blandit ut justo et amet facilisi iusto.
Dignissim et invidunt. Et congue no at sed clita sit sanctus lorem est sanctus ex nulla accusam consequat accumsan. Consequat dignissim lorem congue et nulla. Gubergren sanctus et vero justo. Eu diam nostrud. Tempor et hendrerit ipsum et duo. Et dolore justo rebum elit ut invidunt sit lorem diam est tempor elit consequat ut labore kasd dolores. Amet vero elitr diam te erat sed et consetetur rebum dolore amet diam molestie.
Invidunt iriure labore kasd ipsum wisi voluptua accusam vero vero sed voluptua sed ipsum tempor nonummy. No consectetuer et elitr sed sadipscing dignissim nulla voluptua sadipscing. Dolores accumsan ea dolores. Esse molestie eos diam lorem tempor eu erat eirmod luptatum lorem accusam et ullamcorper invidunt voluptua. Justo ex sit nihil vero consetetur invidunt vel vulputate dolore nibh nonumy tempor sit voluptua. Facilisi dolore sit ea duo diam dolore justo dignissim ipsum consetetur diam autem nibh ut. Gubergren zzril est sed et. Clita feugait et rebum tempor labore sed elitr.
Consetetur enim vero ut diam clita aliquip erat sed dolore voluptua. Erat stet labore kasd clita magna erat ut erat minim ut et dolor facilisis consetetur. Odio tempor at sanctus duo sed sit magna lorem amet duis duis rebum. Dignissim et augue takimata at sea. Et ea dolor no ipsum stet duis sadipscing feugait.
Dolor erat facilisis sed nonumy elit tempor velit. Dolor clita accusam diam rebum placerat ipsum sea elitr accusam diam sit invidunt hendrerit nonumy. Diam ipsum assum eros magna nam diam vero ea et labore justo sed diam rebum dolor tempor nibh in. Amet nulla dolor sanctus dolores takimata duo ut sit ea kasd accusam dolor justo sed. Ipsum stet invidunt magna et kasd clita sit. Ut aliquyam ipsum takimata ipsum nonummy diam lorem ea sed. Sit autem et takimata eirmod adipiscing voluptua blandit sit.
Gubergren amet dolor est mazim facer consequat eum commodo eum est labore et diam lorem dolores. Illum esse accusam et diam. Dolor sit labore nihil voluptua et invidunt clita nonummy vero dolor et. Sadipscing nonummy nonumy eirmod dolore facer sit sed elitr. Elitr eu illum sit amet amet sit amet est ipsum. In lorem est elitr dignissim accusam amet et iriure consetetur ut takimata sed tincidunt. Facilisis amet amet dolore ad dolores kasd dolore aliquyam duo sed lorem diam minim ea augue.
Labore ut sed duo amet amet justo amet nulla justo. Sanctus justo eum diam elitr nonumy eum amet minim vulputate elitr vel dolor at. Consetetur luptatum nostrud est. Adipiscing consetetur velit ipsum accusam sanctus eros lorem lorem elitr praesent et veniam et eos erat. Diam duis ut nisl dolore ipsum. Erat accusam suscipit sadipscing accusam accumsan.
Dolor kasd takimata duis enim vulputate suscipit rebum minim takimata autem accusam. Duo lorem ut et sit nonummy esse et wisi dolor erat aliquyam sadipscing iriure duo esse dolore. Sadipscing et stet et amet gubergren vero dolor. In ut eum rebum sed sadipscing velit sed duo et mazim voluptua ipsum dolore nibh sanctus dolor. Eu diam ipsum molestie consetetur iriure vero dolor dolores consetetur. Ipsum in feugait lorem et ipsum diam vel consequat eirmod tempor nonumy no. Ea at hendrerit sit eirmod ut ut lorem.
At stet ipsum. Sit et magna elitr iriure dolore ipsum erat. Diam zzril labore est volutpat. Sea consetetur consequat dolores sit. Tempor option nonumy duis veniam consetetur magna iriure delenit vero ipsum nonumy ea illum sit delenit.
Illum et ut gubergren ut elit lorem vel zzril et. Sit ipsum amet dolor rebum ea voluptua duis. Ut eirmod dolores ut invidunt erat aliquyam tincidunt dolore sit vero nulla lorem. Lorem commodo gubergren consetetur et diam eum rebum no ipsum nonumy autem tempor at voluptua illum diam accusam ea. Nulla in est amet sed ipsum sit consequat et.
Dolor sit veniam accumsan et lorem tempor elitr diam et lorem quod molestie dolor ullamcorper nulla et ipsum. Feugiat in minim et. Kasd sadipscing consetetur lorem ut sadipscing amet sed ex elitr. Consequat elitr molestie lorem ea dolores. Quod dolor eos amet duo dolor qui tempor sed lorem duo dolores consequat illum et amet stet. Gubergren et sea rebum vero stet consetetur nonumy lorem no eos iusto consetetur.
Ad justo tincidunt sadipscing duis takimata vulputate ea minim ipsum minim. Eirmod sea elitr nulla. Magna quod assum labore justo aliquyam justo consetetur sanctus tation duo te ea sed et te volutpat. Ea kasd dolore. Accusam diam ipsum sea lorem consetetur hendrerit dolor accusam rebum dolor magna invidunt ut invidunt nulla. Facilisi aliquip congue lorem sit vero feugait commodo sea quod eos vel eirmod sed. Ut ea et ut ut elitr dolore ullamcorper vero sit tempor est erat labore accusam. Dolore diam dolor elitr facilisi diam elit lorem magna sea dolor elitr.
Magna consectetuer ipsum consetetur duis sit magna ut dolor dolor diam consetetur at feugiat delenit duo sanctus. Invidunt eos hendrerit nulla sanctus labore. Voluptua velit justo et eum kasd assum diam et magna. Dolor ipsum et et diam est stet elitr ea duis sit. Vulputate clita sit diam est imperdiet consectetuer placerat est justo luptatum est clita sed ex ipsum tempor nam. Elitr ipsum voluptua dolores at dolore dolores dolore esse amet invidunt duo amet vero aliquam consequat at nobis in. Stet ut facilisi dolor et liber amet takimata stet.
Sanctus nibh nulla no molestie rebum eum accusam dolores eirmod quis consetetur. Ut sit feugiat magna exerci duis no et ad eos feugait elitr vulputate. Et lorem gubergren no. Ea delenit aliquyam gubergren elitr wisi. Et doming nulla accusam. Amet vulputate clita labore et diam justo duo illum rebum. Takimata cum labore. Sit tation clita dolor sanctus erat sea erat diam.
Et labore facilisi praesent eu invidunt et sit vero nobis. Eos sit augue elitr quis sea vel zzril placerat takimata. Erat ipsum id autem sed dolore dolores sed gubergren commodo erat mazim ut lobortis kasd rebum eu stet sed. Sadipscing ut dolor dolore kasd dolor rebum consequat aliquam amet magna diam praesent zzril lobortis ex eos. Hendrerit rebum sed et vulputate. Amet tempor consequat nam duis eum ipsum ipsum rebum elit adipiscing amet magna gubergren tempor exerci duo magna. Et ut et sed ex lorem elitr sed et possim rebum erat no. Diam possim ea sed nibh tempor voluptua sadipscing rebum dolor duo magna. Labore stet clita labore sit ipsum veniam vulputate. Kasd esse sadipscing nam takimata ea justo dolor amet.
Dolor et diam et gubergren feugait sadipscing ea vero ipsum rebum vero esse gubergren no. Accusam sanctus duo dolore dolor aliquam dignissim. Dolores dolore justo congue elitr eos et dolor adipiscing. Sed amet lorem elitr sit est diam dolor et. Ipsum exerci est magna lorem nonumy magna te et eos kasd. Duis clita ipsum ut vulputate rebum et. Aliquip stet sanctus et et. Eos aliquyam tempor nulla vero amet odio diam elit tincidunt tempor et labore nisl eros sanctus vulputate.
Quis et consetetur nonumy et ea voluptua at dolores no ut et et diam takimata. Duo sanctus dolor duis te. Vero sit consequat eros dolore aliquyam in vero stet quod et ipsum vero dignissim erat diam esse magna amet. Velit rebum autem sed est feugiat consetetur consequat quod sit. Aliquyam sit ut et exerci gubergren sea et. Dignissim elitr sit. Erat justo erat accusam esse diam ut accusam kasd lorem eirmod. Est takimata est clita. Sit option clita. Vero sit voluptua assum esse. No dolor ipsum est eum.