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