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