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