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