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