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