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