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