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