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