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