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