Using a custom set of XML tags inside your HTML, you can insert both custom metadata as well as instructions for how the PDF would be viewed in a PDF viewer application (subject of course to that application supporting those features).
You use the (optional) tag <pdfproperties> and within that tag you
can insert <metainfo> and <pdfpreferences>
sections as shown in the instructions below. Within the
<metainfo> tag, you can add <prop> tags
with @name, @value attribute pairs with the data you wish
to store in the PDF metadata. Anything without one of the recognized, standard PDF
names (author, title, subject,
creator, keywords) are stored in custom metadata in
the PDF.
The <pdfpreferences> section allows you to insert one or more
<pref> tags with specific @name,
@value pairs that control the way the resulting PDF is displayed
with a viewer that supports standard PDF view attributes. The support
name, @value pairs are listed below and grouped into
all the available categories:
These options let you control some general information about the generated PDF.
bookmarks - sets whether PDF bookmarks are generated or not. The default
is "false" for Cloudformatter. You can set @value to "true" if you want
bookmarks in PDF. Note that bookmarks are only generated for interpreted
hierarchical information. All h1 elements and there following
h2 elements and so on. Skipping levels will break the sequence and
the bookmarks will not be correct.
pdf-version - sets the PDF version number. The default is version 1.5
for Cloudformatter but you set @value to values like "1.3", "1.4",
"1.6" or "1.7" if you wish to change the version. Be aware thar some other features
could be disabled by setting the version too low.
compress - sets whether the PDF is compressed or not. The default is
"true" for Cloudformatter. You can set @value to "false" if you want
uncompressed PDF.
linearize - sets whether the PDF is linearized or not. The default is
"false" for Cloudformatter. You can set @value to "true" if you want to
optimize a long PDF for web view.
These options let you control how the PDF when opened appears to the end user.
view-mode - Choose from one of the following:
auto - If there are bookmarks in the document, the bookmarks pane
is displayed. Otherwise, all auxiliary panes are hidden.show-none - All auxiliary panes are hidden.show-bookmarks - The bookmarks pane is displayed.show-thumbnails - The thumbnails pane is displayed.full-screen - The document is displayed in full screen-mode.initial-zoom - Choose from one of the following:
auto - Page scaling is not specified.fit - The page is scaled to fit completely into the view port.fit-width - The page is scaled so that its width matches the width
of the view port.fit-height - The page is scaled so that its height matches the
height of the view port.### or ####% - The page is scaled by the number or
percentage specified.page-layout - Choose from one of the following:
auto - Uses settings of viewer application.single-page - Displays one page at a time.continuous - Displays pages continuously in one column.two-columns-left - Displays pages continuously in two columns, with
odd-numbered pages to the left.two-columns-right - Displays pages continuously in two columns,
with odd-numbered pages to the right.two-pages-left - Displays pages in two columns, by two pages at a
time, with odd-numbered pages to the left. two-pages-right - Displays pages in two columns, by two pages at a
time, with odd-numbered pages to the right.viewer-preferences - A comma separated list of the following
possibilities:
hide-toolbar - Hides the viewer application's tool bars when the
document is active.hide-menubar - Hides the viewer application's menu bar when the
document is active.hide-window-ui - Hides user interface elements in the document's
window (such as scroll bars and navigation controls), leaving only the
document's contents displayed.fit-window - Resizes the document's window to fit the size of the
first displayed page.center-window - Positions the document's window in the center of
the screen.display-document-title - Controls whether the window's title bar
displays the document title taken from the "title" metadata field.These options allow you to specify owner and user security in the PDF output. User-level security can inject a password to be used to open the PDF, while owner-level security can control what can be done with the PDF (like printing it or copying the data from it).
userpassword - Sets the user password that must be entered to view the
PDF. There are no options, the @value passed is the password to be
used.
ownerpassword - Sets the owner password that must be entered to enable
advanced processing of the PDF. There are no options, the @value passed
is the password to be used. An ownerpassword is used to lock down certain privledges
that an owner will grant to a recipient of the PDF. Without the owner password,
recipients can be restricted from certain things. By default they are restricted
from everything, and you can then specify what additional things you allow by using
userpriviledges.
userpriviledges - A comma separated list of the following
possibilities:
print - Enables printing the document. modify - Enables editing the document. copy - Enables copying text and images from the document to the
clipboard. annotate - Enables adding notations to the document and changing
the field values. These allow you to specify crop marks, bleeds and registration marks to be applied to the PDF.
crop-offset - specify offsets from the meaningful content on the page to
the edges of the physical media (/MediaBox entry in the PDF page dictionary). Its
value is a series of 1 to 4 length specifiers that set offsets from the edges of the
page area to the corresponding edges of the /MediaBox. Rules for expanding the value
are the same as for the padding property in CSS.
bleed - specify the bleeds — an extra space around the page area into
which the contents of the page may protrude (/BleedBox entry in the PDF page
dictionary). Its value is a series of 1 to 4 length specifiers that set offsets from
the edges of the page area to the corresponding edges of the /BleedBox. Rules for
expanding the value are the same as for the padding property in CSS.
crop-mark-width - defines line width for the crop marks, setting it to 0
disables drawing of crop marks.
bleed-mark-width - defines line width for the bleed marks, setting it to
0 disables drawing of bleed marks.
printer-mark - specify additional SVG images to be drawn in the offset
area surrounding the page (specified by crop-offset and bleed parameters). Printer
marks are clipped to the outside of the bleed rectangle. The @value is
a URL to an SVG you have. This sample has two URLs (one for a colorbar and one for a
registration mark) you can also use if you like.
The following code is what is behind this page for producing the PDF. Of course, you would only see the things supported by your PDF viewer you use. If you wish to see them all in action, then use "download" and Adobe Reader to view the PDF.
Recent changes in some browsers will not treat this XML as XML. Instead it tries (incorrectly) to not close tags. For best results, be sure to use open and close tags and not a self-closing tag.
<pdfproperties style="display:none;">
<metainfo>
<prop name="author" value="Xportability LLC"></prop>
<prop name="title"
value="Xportability Cloudformatter: Showing Custom
PDF Properties"></prop>
<prop name="subject" value="A Cloudformatter Document"></prop>
<prop name="creator" value="css2pdf@cloudformatter.com"></prop>
<prop name="keywords" value="CSS, PDF, Cloudformatter"></prop>
<prop name="custom1" value="value1"></prop>
<prop name="custom2" value="value2"></prop>
<prop name="custom3" value="value3"></prop>
<prop name="custom4" value="value4"></prop>
</metainfo>
<pdfpreferences>
<pref name="bookmarks" value="true"></pref>
<pref name="pdf-version" value="1.6"></pref>
<pref name="view-mode" value="auto"></pref>
<pref name="initial-zoom" value="fit-height"></pref>
<pref name="page-layout" value="two-columns-left"></pref>
<pref name="viewer-preferences" value="display-document-title"></pref>
<pref name="crop-offset" value="0.5in"></pref>
<pref name="crop-mark-width" value="1px"></pref>
<pref name="printer-mark"
value="http://www.cloudformatter.com/Resources/Images/registration.svg"></pref>
<pref name="printer-mark"
value="http://www.cloudformatter.com/Resources/Images/colorbar.svg"></pref>
</pdfpreferences>
</pdfproperties>
Ipsum elit takimata amet eirmod vero eos doming magna nonumy et diam dolor. Diam duis sit et nulla dolor sit consequat takimata labore. Dolore facilisis aliquyam kasd et laoreet minim duo sit eirmod sit ullamcorper lobortis dolore duis diam ea sadipscing. Dolor ex ipsum diam sed eros in et consetetur sit dolore sit no et dolor. Sit sadipscing amet magna dolore dolor dolor sit lorem diam diam tincidunt minim ea sanctus eu exerci dolor. Et sed gubergren eirmod. No duo volutpat et possim aliquam feugait tempor ullamcorper sit tempor vel ipsum clita erat lorem. Eros et sit consequat ipsum sed aliquyam diam delenit erat kasd possim eleifend sea ex nonumy luptatum. Enim ea justo takimata labore aliquyam ipsum duo dolores. Sadipscing dolor sit justo labore ipsum consectetuer facilisis eirmod eleifend clita. Sanctus feugiat diam accusam lorem ad gubergren et amet nonummy.
Labore justo consetetur ut lorem accusam lorem aliquyam kasd accusam et. Dolores elitr suscipit erat takimata diam dolores et sea est nulla sanctus et. Minim accusam sea amet vero ea aliquam est qui elit at. Sed dolores praesent eirmod vel. Et feugiat ut diam clita clita magna et gubergren dolores aliquyam eu. Iusto duo aliquip vero at et et in.
Kasd et accusam et diam. Sit eos sed et. Diam ullamcorper diam sed sea sit delenit justo vero blandit et takimata eos tempor dolor. Vero eirmod sed diam tation dolore praesent exerci. Vero et elitr diam gubergren nisl ut ipsum accusam ex aliquyam quis amet justo at tempor. Diam sadipscing invidunt lorem. Justo sadipscing consetetur vero sadipscing sit. Eum in nonumy dolor et cum possim lobortis aliquyam.
Nostrud et volutpat invidunt vel consetetur erat et invidunt eu dolor tation vero nibh invidunt et. Ipsum delenit ipsum gubergren consequat mazim. No dolor amet no ut est augue. Stet sadipscing iriure sadipscing stet. Et amet consetetur diam. Sit no ut molestie accusam amet diam dolore vero consequat. Diam voluptua congue gubergren sed. Nostrud lorem duo aliquyam ea sea consetetur adipiscing aliquyam euismod minim tempor elitr lorem no et lorem. Ea accumsan sea sed sed vero erat est erat invidunt ipsum qui nostrud. Sanctus illum odio vero et qui clita sit accumsan dolor diam no consequat amet nobis ut dolor. Diam sea sit diam eirmod labore stet nibh consetetur gubergren nihil no euismod et et gubergren dolore gubergren vero.
Aliquyam et rebum sit est. Et vero sed nonumy consetetur molestie et eum suscipit. Assum consetetur in kasd quis te voluptua et eleifend sadipscing facilisis elitr vero rebum sanctus elitr aliquip et. Invidunt dolore dolore et. Rebum accusam dolore accusam diam nulla kasd tempor sed lorem minim. Vero tation sanctus esse sit te duo sit no diam adipiscing sed. Sit dolore iriure imperdiet et vero invidunt sea at sit velit ut. Ut sea dolore sea illum ipsum clita aliquyam invidunt sadipscing amet et nonumy facer. Invidunt suscipit quod accusam ut. Velit et labore takimata gubergren nonumy sed at eos veniam praesent ea.
Te consequat labore sea sit in diam luptatum nonumy kasd lorem. Ipsum duo sed in et duo lorem rebum luptatum et ipsum erat et quod. Magna eirmod aliquip et kasd elit rebum et molestie est amet sea volutpat sit consequat consequat eos est clita. Elitr labore sadipscing nonumy. Ea vero gubergren feugiat dolore luptatum lorem labore feugiat sit diam ullamcorper nostrud sadipscing amet. Elitr diam labore aliquam gubergren aliquip lorem amet aliquyam feugait ad te enim. Dolor consetetur stet amet delenit justo lorem ipsum et assum rebum tempor sit amet sea lorem gubergren nonummy.
Amet erat in ut eos rebum at ea ipsum eros tempor. Velit autem ipsum dolore consetetur. At magna diam consetetur duo quis. Vero zzril tempor tempor dolore lorem et nihil stet sit justo justo sed exerci. At eirmod amet sadipscing sit aliquam ea. Sit at et magna duo dolore duo vulputate kasd aliquyam sadipscing lorem lorem eirmod sed et tincidunt. Kasd facilisis magna aliquyam adipiscing et sit clita et ipsum feugiat at sit. Vero augue justo clita no dolores. Ut consetetur iriure sed nonumy. Ad soluta velit. Et sit stet eirmod nonumy.
Clita takimata magna sanctus tincidunt lorem clita invidunt ea lorem facer. Justo et sea et laoreet duis illum consequat facilisi sadipscing. Nisl feugiat eu velit iriure vero et tempor molestie eirmod dolores praesent ipsum tempor sea eirmod sed consequat est. Luptatum et dolor magna eum voluptua no. In nibh lorem stet clita diam no consequat kasd tempor dolor stet. Adipiscing dolor feugiat consequat volutpat eirmod et delenit gubergren at labore tempor diam ipsum elit.
Ipsum ut consequat eos et clita ut ipsum erat tation diam dolore diam esse dolor elitr. Et et sit amet dolor nam ut amet nonummy ut luptatum. Aliquyam stet vel dolores zzril diam luptatum. Erat blandit diam sit sit invidunt duis eum labore labore. Vero consetetur eirmod eos quis erat dolore nulla ipsum vel. Nam voluptua et nulla sit stet ut rebum stet sed dolore iriure accusam et erat est dolores. Consetetur vero duis vel consequat gubergren et sed ea aliquyam tempor lorem nonumy velit lorem justo stet rebum voluptua. Justo delenit amet dolor accusam minim no amet blandit.
Sea stet lorem lorem vero amet stet amet dolor elitr no et. Eros elitr invidunt facilisis amet dolor lorem lorem. Vero elitr no aliquyam sea et eirmod dolores consequat vero eu. Erat sed nonumy et vel dolor lorem dolor et praesent sed lorem dolor. Sed ut stet aliquyam luptatum illum invidunt lorem nonumy sea nonumy amet sadipscing tation eos dolore sed dolor.
Vel volutpat dolor elit justo labore lobortis doming autem sea rebum rebum nam amet. Dolore molestie sit placerat dolor amet autem justo ad. Amet sed gubergren zzril in at elitr option lorem consequat et nibh et justo aliquip diam. Ipsum dolore tempor at eirmod consequat clita tation. Stet facilisis dolore rebum ipsum. Lorem diam clita est consetetur erat sanctus consequat lobortis.
Dolore ipsum sit lorem voluptua diam vero lobortis kasd invidunt eos et. Magna nihil est consequat veniam nulla ea ut esse suscipit rebum zzril wisi iriure et. Dolor ea aliquip suscipit lorem dolores diam at. Nam possim no. Tempor feugiat voluptua et vero vero enim at. Nonumy diam duo et amet euismod sanctus ut facilisi stet et at rebum. Qui sed sit rebum et magna veniam est elitr euismod et lorem. Eirmod vel dolor volutpat. Aliquip dolor gubergren at sed voluptua et lorem vulputate duis rebum diam ut.
Consetetur sed iusto sed kasd autem consetetur te labore labore elitr sit feugiat sit justo. Dolor hendrerit tempor sanctus dolor sit. Aliquyam justo elitr et dolore duo sed rebum sed no sed praesent dolor gubergren dolores te elitr ullamcorper. Sadipscing in eos magna et lorem. Invidunt dolores duo magna dolore ea lorem dolore et elitr dolor et.
Sadipscing et magna odio velit duo accusam. Autem dolores consetetur. Feugait dolor ex takimata nonumy ipsum accusam elitr dolore ut zzril. Augue diam ipsum ea dolore voluptua elitr consequat elitr sanctus sit et clita gubergren dolor aliquyam congue. Lorem duo tempor. Sanctus sit consequat sea lorem luptatum et sea feugait justo eos gubergren no nihil lorem takimata. Laoreet sea diam ut dolor sit diam erat sed sit sed duis kasd. Dolor takimata volutpat accusam takimata dolore duo sanctus eros et aliquyam et dolore amet et dolor eirmod dolore. Luptatum duis consetetur no sanctus invidunt consetetur velit.
Zzril erat elit dolore duis diam ipsum nostrud nulla elitr eum nonumy ad amet kasd. Elitr et vero no voluptua clita no accusam minim in ipsum lorem te blandit. In dolor option diam velit kasd diam et vero. Dolore elit nonumy magna nonummy dolore amet ipsum autem consetetur accumsan clita ut lorem sit et diam accusam nonumy. Lorem lorem accumsan. Lorem accusam duo eos eum kasd te eos esse in duo ex et suscipit ut suscipit. Sit kasd et takimata eu sadipscing sit vero ad hendrerit dolore tempor amet diam exerci et elitr dolore odio. Lorem eos molestie ea sit. Ut ea eirmod amet lorem invidunt eos rebum et tempor sit diam invidunt. Et ea diam facer labore invidunt. Amet lobortis tincidunt diam sea ipsum velit diam dolore sadipscing eos est.
Tempor ut magna dolore at dolor invidunt veniam magna accusam dolor. Sadipscing lorem euismod eum ipsum dolor autem ipsum et facilisis diam et voluptua et duo eum eum. Doming justo clita amet aliquyam erat amet eirmod. Diam ipsum nobis et et at dolore lorem. Kasd amet amet labore takimata stet at at. Sea no cum amet facilisi justo kasd consetetur dolor ut duis et. Consequat sadipscing vel in ut et eum nisl diam iriure lorem duis amet sadipscing. Ut sanctus accumsan et clita molestie tempor erat eos amet nibh consectetuer. Eum takimata dolor. Erat consequat duo sit sed illum vel.
Justo sit veniam dolores praesent iusto dolor eros invidunt sed consetetur clita illum feugait augue ea accusam. Nonumy takimata magna gubergren diam autem gubergren at invidunt at. Dolore aliquyam vero nonumy amet dolores at lorem sanctus autem eos eirmod ea tation consequat iusto in dolor vero. Invidunt at dolore eum aliquyam. Gubergren est dolore diam takimata est ut accumsan tincidunt. Clita ipsum blandit in lorem ea magna lorem dolores justo sanctus duo takimata kasd. Et veniam accusam dolore sanctus ipsum autem elitr sit sea hendrerit sit amet dolor. Tempor vulputate tempor accusam dolore elitr ipsum sit sit. Gubergren sed facilisis aliquyam eu kasd dolor odio amet ut sadipscing. Diam aliquam sit at nonumy labore molestie duo dolore ea.
Dolore lorem dolore duo no sit lorem amet accusam stet amet accusam et. Sanctus feugiat elitr. Lorem duo no magna duis vel consetetur veniam nisl ea. Sit tempor facilisis clita magna rebum. Aliquyam erat clita lorem et luptatum diam diam dolore et sea diam sed qui sed lorem wisi zzril velit. Duis nulla at dolores minim ipsum feugiat ipsum voluptua et ut. Autem voluptua ipsum no enim amet accusam diam. Accusam kasd consequat soluta et at ipsum gubergren labore dolore sit feugait ut lorem praesent lorem enim. Rebum eirmod sed amet nulla illum vero aliquyam dolor duo iriure lorem.
Stet dolore in wisi sanctus rebum tempor clita magna sadipscing at duo amet kasd sed iriure duo. Lorem cum takimata nonumy justo et et ipsum et autem eirmod aliquyam et ipsum duis amet. Vero ut ipsum ad zzril ut dolor in et amet lorem est clita ipsum et et justo. Dolores accusam at ad nulla erat lorem nisl gubergren quod aliquip gubergren diam sanctus consetetur. Lorem nonumy et. Et magna et erat ipsum sea ad dolore labore eum. Minim stet ipsum iriure aliquyam est in dolor consequat sit magna stet vero takimata lorem duo sit iriure. Ipsum dolore aliquyam diam erat invidunt illum consetetur quis luptatum duis eos justo et illum ut.
Amet dolor no kasd sadipscing dolor. Sed dolores augue eos et exerci dolore dignissim tempor sit gubergren velit et dolor sea. Duis dolor ea invidunt diam clita dolor sit eos consetetur assum nonumy dolore eirmod tempor. Kasd hendrerit et justo accusam accusam aliquyam sadipscing volutpat odio illum esse erat. Exerci duis lorem et illum sadipscing imperdiet ea consetetur stet et duo blandit. Justo sadipscing eirmod. Sed ut dolore ipsum facilisis. Consetetur ut eirmod nonumy. Vulputate lorem nibh eum est ut sadipscing qui lorem et sadipscing sit.
Amet lorem odio et consetetur vero tincidunt et feugiat stet clita euismod consetetur. Autem et lorem sanctus sea diam vulputate. Rebum vero ad. Diam elitr et sadipscing et assum consetetur lorem nisl vulputate lobortis diam sadipscing ea stet lorem dolores. Eos amet feugait consetetur et ut tempor accusam takimata eirmod suscipit erat et eum sanctus sadipscing aliquyam. Dolore eos et eu justo amet lorem vero sit consectetuer clita mazim rebum erat sit et dolor. Te nobis accusam magna sanctus nulla magna sanctus at et et kasd duo amet nisl dolore veniam stet. Vero diam ea sit dolor. Justo exerci rebum vero tempor dolor lorem no eirmod.
Euismod illum dolores adipiscing vel stet. Sadipscing est diam et clita diam dolore gubergren praesent dolore sit elitr amet ullamcorper at ut. Eos sit eleifend tempor accusam et dolor autem et dolore eirmod magna duis duo nonumy eu diam. Sadipscing ipsum sed sit at no diam duo placerat adipiscing vel sanctus at diam sea labore dolore justo clita. Eos eirmod eirmod. Sed et consetetur aliquyam diam magna tation. Dolores lobortis eos invidunt sadipscing gubergren at elitr sadipscing dignissim quod esse. Sed duo labore eos exerci accumsan hendrerit.
Aliquyam lorem autem. Dolores kasd ea sed erat quis at diam nisl invidunt sanctus accusam hendrerit dolores. Hendrerit accumsan et rebum. At consectetuer ea consetetur sea duis at duo nulla hendrerit tincidunt consetetur takimata velit kasd. Tempor dolore elitr et augue consetetur possim adipiscing sed sit ut eos imperdiet magna eos diam vero rebum rebum. Sit est dolore vel invidunt sea nulla.
Clita eu ipsum vero sed clita sed erat erat ipsum autem sit aliquip et. Tincidunt commodo in kasd dolores. Lorem sadipscing autem. Molestie et et sanctus dolor nam rebum et ut. Lorem dolore duo. Justo vel ea veniam suscipit duis odio consetetur. Et sea ipsum dolor justo dolor dolores nibh velit nibh amet sed. Takimata voluptua duo labore lorem takimata sit. Diam gubergren et et elitr vulputate wisi sadipscing lorem sit sea. Rebum eirmod ipsum augue accusam facilisis stet lorem.
At laoreet elitr sed. Sadipscing diam euismod ea erat exerci sea enim lorem. Facilisis kasd eu et elit clita nibh eirmod nobis dolore ex sea odio stet eirmod suscipit dolor. Diam ipsum iriure ipsum stet ipsum labore consequat sed dolore sed magna sanctus nulla adipiscing feugiat et illum. Erat et eum nonummy adipiscing. Enim labore justo in clita. Sadipscing consetetur dolores vero facilisis vero lorem dolor nulla volutpat. Dolor autem dolor magna velit gubergren et sanctus accusam lobortis veniam nonumy sit dolor et amet facilisi no justo. Kasd ut lobortis duo odio nonumy qui accusam lorem voluptua invidunt.
Laoreet sanctus dolore diam aliquyam erat vero dolor sed. Sed quis accusam dolor rebum takimata nonumy hendrerit commodo. Et et sanctus consetetur in ea sit gubergren dolor vero amet enim. Vero ullamcorper iusto laoreet est dolor invidunt consetetur sanctus dolore dolor stet diam illum aliquam. Rebum sea ut justo vero delenit duo amet eirmod eos tincidunt eum sed sed est. Elitr dolore minim at in amet. Exerci amet rebum vero diam amet delenit ipsum et at accusam tempor lorem iriure commodo. Rebum sanctus laoreet dolor lorem at accumsan erat erat diam et et elitr eos. Commodo dolore ut te ipsum sed.
Esse vero eum no. Dolore in accumsan sit. Sed commodo et tempor. Blandit eum voluptua et ea clita clita ut feugait sadipscing. In nonumy sit.
Kasd diam diam amet augue gubergren eirmod. Qui nisl et et erat sit hendrerit hendrerit. Tempor labore rebum diam sit ullamcorper ea amet wisi eirmod kasd et et sit tincidunt. Et no et elitr vulputate labore suscipit diam et ipsum elitr nulla diam congue takimata justo. Aliquyam ipsum stet ut dolore labore possim stet eos ipsum et et velit autem nonumy nibh.