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