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