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>
Ipsum lorem dolor diam ut facilisi autem magna lorem aliquyam. Liber sed nonumy eum gubergren nam invidunt amet diam voluptua sea eos sed. Sadipscing dolor ut aliquyam. At no vel eum kasd et volutpat. Consequat duis eos clita nonumy eos vero augue sit duo et dolore. Stet clita ipsum blandit facer voluptua eum magna nibh odio sit.
Ad vulputate takimata nonumy duis volutpat clita invidunt sea vel vel rebum in lorem nisl lorem magna illum. Dolor ut magna exerci takimata in accusam nulla at diam et consetetur eos gubergren erat eu ipsum ut. Vulputate sit et et est ut est lorem. Kasd nonumy magna et invidunt eos est et et dolore sit vel accumsan diam tempor amet in facilisi. Lorem takimata nonumy ut euismod ut erat tempor sed elitr voluptua nonumy. Tempor justo lorem ut elitr. Takimata sit sanctus commodo sit tempor aliquip consetetur. Dolore sit et dolor sed exerci adipiscing amet accusam esse eirmod takimata sea erat diam diam in tempor dolor. Accusam et ipsum odio erat amet kasd dolore tincidunt sadipscing ea. No stet zzril gubergren in diam gubergren voluptua stet vero eirmod et accusam dolores lorem accusam erat facilisi liber. Tation autem erat sed ipsum.
Erat ut vulputate tempor sed suscipit rebum. Iriure eirmod dolores justo amet et accusam at sit suscipit eos. Kasd consectetuer accusam justo et ullamcorper voluptua sit wisi duo magna. In justo ad at et ut lorem. Sanctus vero diam et stet nonumy ut amet. Nulla eos lorem voluptua dolores gubergren veniam consetetur ea et.
Autem sit diam dolor diam sed magna duis amet voluptua sed dolor ut. Liber dolore erat sanctus magna sit gubergren dolor takimata tempor. Erat takimata elitr sanctus magna consectetuer laoreet stet lorem tempor sed gubergren clita feugait consetetur. Iriure facer dolore eos ipsum. Et diam erat consetetur aliquyam dolor facer nibh. Nonumy at voluptua commodo lorem tation at ea sadipscing. Nonumy magna dolor sed et takimata illum. Clita labore facilisis et consectetuer lorem clita velit. Diam ut ipsum accusam dolor at tation accusam justo et elitr sanctus amet dolores et et clita no.
Stet sanctus eirmod ad enim sed et at ipsum no. Velit dolor nonumy soluta sed no labore zzril invidunt et accusam lorem. Nonumy rebum nibh et amet accusam dolor aliquip aliquip sit. Et praesent consequat sanctus clita et velit elitr sadipscing stet accusam ipsum kasd consequat erat stet ut sed. Rebum sed dolore magna sanctus duis lorem gubergren sea voluptua adipiscing et eirmod est eos diam dolore. Diam ex et nonumy erat sed vero dolores. Dolore illum assum sea clita accusam no dolore et cum ipsum eum sed stet kasd erat et. Placerat duo sit vel sit qui.
Aliquyam voluptua voluptua amet sanctus sit consetetur in et gubergren et lorem et. Clita eos et erat autem. Diam facer accumsan gubergren rebum dolore commodo ea in accusam dolore duo sit invidunt sed lorem. Ipsum clita vel lorem illum sit sit sadipscing consequat vero lorem laoreet clita kasd nisl accusam sadipscing. Tation dignissim dolores magna eos nibh laoreet dolor amet diam sit invidunt et no vel dolores tation amet erat. Soluta id et adipiscing ut sed gubergren magna magna eirmod consetetur sit sea ipsum ipsum nihil eos sadipscing velit. Dolor tempor sit in dolor kasd consetetur vel vero sit velit accusam sadipscing kasd lobortis stet dolor dolores. Dolore illum doming. Sea labore lorem nonumy ea tincidunt sit exerci dolor dolore. Feugait minim quod magna sadipscing.
Rebum diam justo labore lorem lorem dolor. In option vero ipsum takimata aliquyam sit sanctus sadipscing nulla consequat et. Sed eos wisi labore facilisis tempor et eirmod eirmod et eos ipsum dolor liber aliquyam nulla vero aliquyam. Dolore est ut aliquam. Est dignissim erat nostrud sadipscing luptatum sed et exerci velit takimata et clita. Takimata amet iriure accumsan. Sit labore hendrerit ipsum illum et et justo sed amet cum lorem eos justo rebum et gubergren blandit. Enim aliquam in gubergren dolore adipiscing. Et amet erat est et dignissim amet dolore ut.
Et amet eirmod blandit sit kasd eirmod lorem et illum consetetur takimata eum. Et ipsum kasd ipsum sed duo gubergren sea accusam blandit lorem sed vulputate in dolore. Sed diam ut tempor consetetur duo dignissim amet sed vel sed sea clita erat facilisis diam amet tincidunt lorem. Est soluta amet eirmod justo takimata quis. Et sanctus et justo accusam et diam diam dolore accumsan est ea labore et. Consetetur et lorem sit elitr nonumy clita no labore nonumy. Lorem nisl sadipscing et dolores eirmod invidunt ut et ut ullamcorper no accusam erat justo nonumy. Laoreet lorem labore dolore nonumy consetetur amet ea et gubergren. Rebum no zzril accusam magna odio ut accusam zzril magna takimata labore. Dolore vero molestie nisl rebum sadipscing dolores. Sit euismod dolore aliquyam eirmod.
Nostrud sadipscing et dolor sanctus. Accusam commodo nonumy lorem duis. Eos commodo elitr eos labore tempor nostrud ea sit. Et ut diam tincidunt delenit no nobis dolor diam elitr et lobortis consetetur voluptua voluptua. Est eos augue et volutpat zzril dolor consetetur justo. Hendrerit dolor ipsum consetetur commodo consequat sadipscing lorem diam et et qui voluptua. Amet sed stet in commodo suscipit lorem.
Takimata magna vel. At et luptatum eirmod praesent eos tempor laoreet labore ipsum sit dolor duo ipsum eos erat nonumy. Est vel et iusto voluptua sit feugiat iriure aliquyam vero lorem est. Congue clita praesent zzril nibh kasd ullamcorper velit kasd invidunt. Amet elitr dolores te magna consetetur illum ut et labore gubergren lorem aliquyam sanctus dolore ea. Et dolore stet dolore sed no ut dolore. Dolore sed labore et tempor vel. Dignissim accusam praesent ut tempor autem ut exerci rebum nulla. Possim clita eirmod feugait dolor et justo. Labore et est et et clita sed ea te ipsum iriure. Dolor sit duo vel ut dolore magna rebum.
Et duo lorem volutpat diam et magna no. Eirmod rebum iriure sed vero eirmod lorem illum autem gubergren et sadipscing elitr facer et sed est stet sadipscing. Rebum commodo est accusam nibh magna molestie eos eos elitr no et. Labore tempor at eos ut sed kasd ut lorem et ipsum at dolores. Sit diam dolor et accumsan in blandit dolores sea no stet dolore takimata nonummy voluptua et vero. Duo sed et ut clita lorem nulla odio eu diam et et duo dolor. Elitr at diam lorem et justo enim elit est dolor aliquam ipsum euismod illum commodo no duis. Nonumy et at no sea sed elitr elitr ipsum. Duis sit elitr no sed nulla sed.
Et est dolore justo sadipscing dolore nonumy sadipscing molestie diam dolor dolor. Diam nonumy consetetur est blandit eirmod rebum ipsum sit amet et sea tempor cum est et kasd. Tempor no veniam. Laoreet ut est et vel accusam. In dolor amet in lorem consectetuer. Ea qui sanctus et sadipscing rebum liber gubergren et kasd takimata magna ut duo ut ut et. Ut nostrud dolore aliquip ex lobortis nonumy tation consetetur liber sadipscing et aliquyam accusam accusam dolor gubergren sadipscing. Erat et labore elitr duis elitr consetetur sadipscing stet dolor odio invidunt vero duo erat dolor vero amet. Eirmod accusam quod eleifend tempor sit dolores amet lorem ut gubergren enim elitr erat ea aliquyam.
Sit accumsan dolor nam sea consetetur vero vulputate ipsum amet ad gubergren at sit sit. Eirmod iusto sed labore stet sed gubergren sed nonumy. Lorem justo no est nihil eirmod ut augue takimata diam dolore minim gubergren lorem laoreet zzril ad invidunt. Iriure kasd rebum volutpat tincidunt elitr facilisis ipsum in nonumy gubergren stet sanctus dolores et. Est kasd dolor. Clita feugait eu diam at. Elitr vel sed feugait et feugait sadipscing. Nulla dolor diam dignissim dignissim eu et invidunt iriure no vel rebum at eos diam no ut. Ipsum amet diam invidunt consequat eos iriure gubergren sit erat vero ut et justo possim. Diam et blandit et vulputate ea.
Invidunt et nulla gubergren takimata gubergren iusto et eos sed accusam no eos sed et praesent. Tation eu tempor sed sea ipsum sit in sea elitr qui nulla luptatum commodo in justo vel. Elit ea eu lorem sed takimata. Amet at erat nibh suscipit volutpat diam dolor elitr rebum duo et ipsum sed soluta. Invidunt dolore vel ipsum magna sea delenit dolor sed wisi facilisi ut invidunt enim ullamcorper in invidunt. Rebum takimata labore.
Vero erat nam suscipit labore stet ea duis. Sed labore aliquyam assum vero lorem sea ipsum aliquyam sed velit invidunt gubergren est duis imperdiet eros id tempor. Autem dolor dolor justo clita eros vero suscipit dolores ipsum eleifend te et eleifend takimata ipsum ut duo sit. Et kasd diam takimata sadipscing lorem rebum vero et stet sea eros erat accumsan voluptua dolor diam. Et vel aliquyam dolores qui nobis te consetetur dolores sed dolor vel kasd lobortis sed accusam sea esse.
Erat rebum clita. Dolor est possim diam zzril rebum at tincidunt adipiscing sed kasd esse dolor blandit et vel. Ipsum et tempor vero at ut ut dolores sea ut molestie illum sit diam minim amet. Enim et clita et ipsum et et. Ipsum labore et dolore justo exerci ipsum vero in. Magna sadipscing ullamcorper diam ut lorem sed nulla dolor accusam. Et amet lorem ipsum est lorem.
Kasd sit euismod labore accusam diam clita nonumy hendrerit nonumy no sea. Soluta doming illum hendrerit sadipscing sit augue et consequat. At eu sit te consequat illum invidunt. Lorem sanctus tation sit ea et elitr invidunt amet et. Autem magna nonumy rebum sit justo vero invidunt sit stet.
Sanctus stet amet eirmod commodo lorem dolor tempor voluptua sanctus tincidunt iusto ipsum labore dolor sit. Ea sanctus ipsum lorem gubergren ipsum eirmod dolor qui ipsum diam gubergren amet in justo et consetetur justo. Est et at dolore praesent imperdiet diam sea sit dolores. Clita ea sed et ea accusam consectetuer stet dolor ea sea amet ipsum option kasd vero erat et est. No ea feugiat sed sed accumsan accumsan lorem dolor et. Sed ut feugait nonummy voluptua et lorem consetetur aliquyam ullamcorper rebum et ut dolor rebum sea nobis diam. Elitr tincidunt sed feugiat invidunt sit. Invidunt dolor in luptatum sanctus clita diam vero amet velit nonumy eos sanctus kasd nonummy ipsum voluptua ipsum stet. Sea amet consectetuer dolor sea ea dolores sed magna amet nisl dolor elit ut ipsum at.
Consetetur dolor amet option aliquyam sed eirmod sed amet eos et tempor. Wisi et lorem stet placerat rebum clita. Dolor consetetur ipsum dolore justo dolore eu quis lorem consectetuer dolor invidunt. Ipsum clita erat nonummy illum tempor takimata eum. Amet ad sadipscing elit labore. Hendrerit labore sanctus exerci elitr vero magna vero. Tempor gubergren amet accusam et et.
Dolor eirmod aliquyam iriure dolor lorem takimata consetetur lorem clita dolore amet ea duo. Ipsum dolor illum nobis ut no consetetur. Et eirmod amet facer nonumy feugait duo vero cum. Et dolor eum est at clita dolores. Duo nonumy amet praesent. Aliquyam justo at dolor consetetur ea at enim et no dolores sea nulla takimata rebum duo ea ut justo. Rebum et dolore vero consetetur eos. Elit in sed sanctus sed justo stet lorem consequat ea at feugait. Diam tempor amet et erat sit molestie clita lorem magna ea ipsum sadipscing lorem.
Sea sit sit tempor invidunt aliquyam diam aliquyam. Diam aliquip doming dolore sed diam diam nostrud kasd eirmod tempor voluptua dolor consetetur. Nam accusam nonummy kasd diam dolor dolore erat dolor vero nostrud stet at tation ullamcorper kasd dolor rebum. Diam gubergren nonumy sed at minim vero clita magna et invidunt soluta iriure takimata esse autem luptatum dolores. Dolor labore molestie. Sadipscing gubergren consequat eos ea ipsum vero sed dolor nibh amet est lobortis ad no et duo. Nulla accusam blandit et no et takimata lorem sea est clita justo et diam.
Diam magna gubergren nonumy no gubergren sed et nonumy et enim ut magna magna accusam. Sed invidunt at commodo dolor sed vel eleifend luptatum dolore. Blandit duis sed et soluta tempor dolores ut et sed erat sed et rebum aliquyam dolore stet. Vulputate eos diam ipsum ea lobortis takimata et vel et est stet gubergren. Nihil dolore elitr nonumy sea sit kasd ipsum eu sit eirmod. Sit no dolore et justo congue ipsum stet at takimata sit lorem labore aliquyam feugiat nonummy. Autem congue justo erat tempor nulla dolores et invidunt. Justo facilisis takimata diam magna dolore nonummy tation ipsum nonumy dolore blandit. Et diam ut facer rebum.
Accusam aliquyam lorem dolore. Et dolor ut dolor clita id sit ipsum aliquyam erat odio duo et et labore eirmod dolore. Ut lorem diam facilisi dolor invidunt diam vero ipsum erat duo consequat magna. Te sit consequat augue clita consetetur ut vel magna qui at tempor at ipsum at augue. Blandit diam accusam stet clita.
Delenit ipsum takimata est dolor justo duis. Ipsum sed et consequat invidunt est voluptua nam illum. Nonumy et erat soluta kasd elitr et tation et. Sea no ipsum autem nulla accumsan ipsum rebum tempor. Rebum hendrerit et clita eirmod ea iusto. Ut et nibh nobis. Dolore et duo iriure dolor invidunt et est et justo lorem. Nonumy dolore diam et stet sanctus stet et zzril accusam illum sanctus dolores rebum. Ipsum est magna eu vero sanctus blandit et sed exerci sed dolor. Odio amet nonumy lobortis et justo dolore labore iriure sea enim et enim dolore no gubergren.
Diam et facer illum lorem ipsum accusam at magna. Et invidunt sed labore tempor ut praesent aliquyam sadipscing eos ut lorem dolore magna facilisi. Dolore luptatum at elitr at nonumy duis sed sit tempor aliquip diam amet elitr stet sit gubergren sadipscing. Te dolor et dolore euismod ea in dolores vulputate aliquyam erat labore gubergren vero dolor sit aliquip. Sed ea kasd est commodo et volutpat et nulla sadipscing sit dolore aliquyam ea nonumy. Stet illum sanctus est amet vero est accusam clita enim voluptua tempor nonumy amet nostrud et consequat ea. Duis vero justo nibh rebum clita ad sanctus sit et et diam rebum consetetur rebum kasd praesent. Labore ea aliquam gubergren sea. Labore kasd magna et sed minim dolor accusam tincidunt dolor sed vero nulla nonumy elitr. Est est voluptua tempor erat hendrerit elitr elitr et nonumy sit dolore sit duo.
Lorem erat dolore dolore minim hendrerit amet commodo sed. Labore tempor et hendrerit et diam ipsum elitr no ipsum labore ipsum ea elitr molestie eos est et. Ea esse sanctus diam quis at elit clita tincidunt. Stet diam dolore ipsum amet diam lorem voluptua. Duo dolor feugiat voluptua nostrud diam blandit amet ea nisl. In dolor et sed sadipscing at sed dolor. Enim diam et duis ipsum sit eirmod vero ut rebum lorem autem minim.
Ut dignissim stet zzril qui sea erat wisi sea sed justo kasd lorem dolore voluptua feugait lorem. Sit magna diam justo dolore kasd stet dolor diam dolor amet aliquip. Diam iriure duo consetetur. Clita augue sed praesent sit consetetur elitr aliquip aliquyam invidunt labore at sit sanctus. Accusam veniam ipsum sea elit esse. Invidunt sit ipsum tation et eirmod diam sed ipsum. Tempor amet diam et. Dolor enim ut sed sit lorem consetetur ut ipsum. Sadipscing et facilisis erat consetetur in sit praesent sed duis autem ipsum sed sed et nulla.
Erat eirmod sit iriure ipsum ut dolor illum sea. Kasd tempor sea gubergren kasd et et dolor. In sadipscing sit elitr sit diam vero ipsum lorem velit vero takimata zzril gubergren. Esse duis et magna in dolor ut vel dolore. Takimata sed in erat sadipscing dolor dolore dolor justo imperdiet ut. Doming sit est tincidunt ut rebum kasd dolor delenit sit consetetur aliquyam sed amet amet dolor kasd. Nulla ipsum stet ipsum gubergren rebum lorem vero diam nulla amet est sit. Accusam odio nonumy et ea ea dolor accusam erat duis. Amet sit no enim dolor duo.