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