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