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