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