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