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