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