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