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