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