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