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