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