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