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