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