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