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