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