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