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