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