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