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