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