Using a custom set of XML tags inside your HTML, you can insert both custom metadata as well as instructions for how the PDF would be viewed in a PDF viewer application (subject of course to that application supporting those features).
You use the (optional) tag <pdfproperties> and within that tag you
can insert <metainfo> and <pdfpreferences>
sections as shown in the instructions below. Within the
<metainfo> tag, you can add <prop> tags
with @name, @value attribute pairs with the data you wish
to store in the PDF metadata. Anything without one of the recognized, standard PDF
names (author, title, subject,
creator, keywords) are stored in custom metadata in
the PDF.
The <pdfpreferences> section allows you to insert one or more
<pref> tags with specific @name,
@value pairs that control the way the resulting PDF is displayed
with a viewer that supports standard PDF view attributes. The support
name, @value pairs are listed below and grouped into
all the available categories:
These options let you control some general information about the generated PDF.
bookmarks - sets whether PDF bookmarks are generated or not. The default
is "false" for Cloudformatter. You can set @value to "true" if you want
bookmarks in PDF. Note that bookmarks are only generated for interpreted
hierarchical information. All h1 elements and there following
h2 elements and so on. Skipping levels will break the sequence and
the bookmarks will not be correct.
pdf-version - sets the PDF version number. The default is version 1.5
for Cloudformatter but you set @value to values like "1.3", "1.4",
"1.6" or "1.7" if you wish to change the version. Be aware thar some other features
could be disabled by setting the version too low.
compress - sets whether the PDF is compressed or not. The default is
"true" for Cloudformatter. You can set @value to "false" if you want
uncompressed PDF.
linearize - sets whether the PDF is linearized or not. The default is
"false" for Cloudformatter. You can set @value to "true" if you want to
optimize a long PDF for web view.
These options let you control how the PDF when opened appears to the end user.
view-mode - Choose from one of the following:
auto - If there are bookmarks in the document, the bookmarks pane
is displayed. Otherwise, all auxiliary panes are hidden.show-none - All auxiliary panes are hidden.show-bookmarks - The bookmarks pane is displayed.show-thumbnails - The thumbnails pane is displayed.full-screen - The document is displayed in full screen-mode.initial-zoom - Choose from one of the following:
auto - Page scaling is not specified.fit - The page is scaled to fit completely into the view port.fit-width - The page is scaled so that its width matches the width
of the view port.fit-height - The page is scaled so that its height matches the
height of the view port.### or ####% - The page is scaled by the number or
percentage specified.page-layout - Choose from one of the following:
auto - Uses settings of viewer application.single-page - Displays one page at a time.continuous - Displays pages continuously in one column.two-columns-left - Displays pages continuously in two columns, with
odd-numbered pages to the left.two-columns-right - Displays pages continuously in two columns,
with odd-numbered pages to the right.two-pages-left - Displays pages in two columns, by two pages at a
time, with odd-numbered pages to the left. two-pages-right - Displays pages in two columns, by two pages at a
time, with odd-numbered pages to the right.viewer-preferences - A comma separated list of the following
possibilities:
hide-toolbar - Hides the viewer application's tool bars when the
document is active.hide-menubar - Hides the viewer application's menu bar when the
document is active.hide-window-ui - Hides user interface elements in the document's
window (such as scroll bars and navigation controls), leaving only the
document's contents displayed.fit-window - Resizes the document's window to fit the size of the
first displayed page.center-window - Positions the document's window in the center of
the screen.display-document-title - Controls whether the window's title bar
displays the document title taken from the "title" metadata field.These options allow you to specify owner and user security in the PDF output. User-level security can inject a password to be used to open the PDF, while owner-level security can control what can be done with the PDF (like printing it or copying the data from it).
userpassword - Sets the user password that must be entered to view the
PDF. There are no options, the @value passed is the password to be
used.
ownerpassword - Sets the owner password that must be entered to enable
advanced processing of the PDF. There are no options, the @value passed
is the password to be used. An ownerpassword is used to lock down certain privledges
that an owner will grant to a recipient of the PDF. Without the owner password,
recipients can be restricted from certain things. By default they are restricted
from everything, and you can then specify what additional things you allow by using
userpriviledges.
userpriviledges - A comma separated list of the following
possibilities:
print - Enables printing the document. modify - Enables editing the document. copy - Enables copying text and images from the document to the
clipboard. annotate - Enables adding notations to the document and changing
the field values. These allow you to specify crop marks, bleeds and registration marks to be applied to the PDF.
crop-offset - specify offsets from the meaningful content on the page to
the edges of the physical media (/MediaBox entry in the PDF page dictionary). Its
value is a series of 1 to 4 length specifiers that set offsets from the edges of the
page area to the corresponding edges of the /MediaBox. Rules for expanding the value
are the same as for the padding property in CSS.
bleed - specify the bleeds — an extra space around the page area into
which the contents of the page may protrude (/BleedBox entry in the PDF page
dictionary). Its value is a series of 1 to 4 length specifiers that set offsets from
the edges of the page area to the corresponding edges of the /BleedBox. Rules for
expanding the value are the same as for the padding property in CSS.
crop-mark-width - defines line width for the crop marks, setting it to 0
disables drawing of crop marks.
bleed-mark-width - defines line width for the bleed marks, setting it to
0 disables drawing of bleed marks.
printer-mark - specify additional SVG images to be drawn in the offset
area surrounding the page (specified by crop-offset and bleed parameters). Printer
marks are clipped to the outside of the bleed rectangle. The @value is
a URL to an SVG you have. This sample has two URLs (one for a colorbar and one for a
registration mark) you can also use if you like.
The following code is what is behind this page for producing the PDF. Of course, you would only see the things supported by your PDF viewer you use. If you wish to see them all in action, then use "download" and Adobe Reader to view the PDF.
Recent changes in some browsers will not treat this XML as XML. Instead it tries (incorrectly) to not close tags. For best results, be sure to use open and close tags and not a self-closing tag.
<pdfproperties style="display:none;">
<metainfo>
<prop name="author" value="Xportability LLC"></prop>
<prop name="title"
value="Xportability Cloudformatter: Showing Custom
PDF Properties"></prop>
<prop name="subject" value="A Cloudformatter Document"></prop>
<prop name="creator" value="css2pdf@cloudformatter.com"></prop>
<prop name="keywords" value="CSS, PDF, Cloudformatter"></prop>
<prop name="custom1" value="value1"></prop>
<prop name="custom2" value="value2"></prop>
<prop name="custom3" value="value3"></prop>
<prop name="custom4" value="value4"></prop>
</metainfo>
<pdfpreferences>
<pref name="bookmarks" value="true"></pref>
<pref name="pdf-version" value="1.6"></pref>
<pref name="view-mode" value="auto"></pref>
<pref name="initial-zoom" value="fit-height"></pref>
<pref name="page-layout" value="two-columns-left"></pref>
<pref name="viewer-preferences" value="display-document-title"></pref>
<pref name="crop-offset" value="0.5in"></pref>
<pref name="crop-mark-width" value="1px"></pref>
<pref name="printer-mark"
value="http://www.cloudformatter.com/Resources/Images/registration.svg"></pref>
<pref name="printer-mark"
value="http://www.cloudformatter.com/Resources/Images/colorbar.svg"></pref>
</pdfpreferences>
</pdfproperties>
Et dolore sanctus justo stet dolore autem velit dolore elit sea duo diam. Accumsan in esse. Justo at et magna sit. Ut sea te vulputate. Amet et clita amet dolore doming et sanctus. Ipsum possim magna praesent magna diam sit vel illum.
Labore est sed erat illum invidunt no nibh ipsum lorem sanctus justo sea rebum amet. Erat vero nisl ipsum et dolores sadipscing gubergren ipsum in in sit sed. Et amet erat ea hendrerit kasd diam et te consectetuer invidunt sed lorem nibh elitr volutpat vero. Invidunt diam accusam suscipit vero erat. Dolore clita ea ea sed feugiat no sit lorem consequat amet diam. At labore eos zzril consectetuer. Et eirmod magna vel justo nostrud suscipit consectetuer ea dolor dolore rebum magna amet hendrerit vero amet diam. Qui et te diam lorem voluptua dolor amet rebum illum ut duo.
Adipiscing amet praesent magna amet erat tempor lobortis aliquyam vel dolore blandit sit consetetur diam sit et sit. Dolor stet sadipscing facilisi gubergren sadipscing et est dolore sed nonumy aliquyam invidunt diam aliquam invidunt est. Eos aliquam zzril erat ea consequat ut et et at ipsum est rebum et wisi lobortis consetetur. At voluptua lobortis nulla volutpat euismod aliquyam rebum at rebum id diam rebum exerci ut sed sadipscing. Congue amet ipsum nam takimata ad in adipiscing sit diam te. Dolore dolor nulla nostrud eu et magna amet ipsum diam elitr wisi kasd et et mazim. Augue et et et et. Sed ipsum justo lorem consetetur invidunt ut eirmod kasd qui dignissim labore erat magna aliquam aliquyam ipsum nonumy. Vel nostrud sea ea iriure vulputate vulputate lorem diam vero sea vero sit takimata lorem tempor clita.
Voluptua gubergren duo ut. Rebum no ut feugait sanctus eos sit dolores labore at. Blandit magna amet sea illum laoreet esse. Delenit ex illum lorem dolor consetetur sed veniam eirmod justo stet eirmod nulla ut et labore stet. Magna et commodo nulla laoreet diam at nihil cum praesent clita. Accusam lorem est et magna dolor aliquip est gubergren et labore. Sit ipsum accusam molestie dolor amet consetetur lorem.
Dolor dolores minim. Diam elitr sed dolor feugait consetetur ea ut minim no praesent liber molestie erat eu kasd sed. Liber et clita tincidunt justo dolor nonumy sadipscing exerci. Feugiat dolor dolore tempor sed magna justo consetetur voluptua rebum takimata nonumy aliquyam amet sit clita accusam diam. Ipsum dolores et nonumy takimata magna possim duis et nonumy.
Amet invidunt tempor justo vero gubergren. Diam at gubergren tation sanctus kasd hendrerit ad hendrerit duo kasd at enim eu. Tation amet sea ea tincidunt takimata eirmod wisi. Accusam sit minim euismod lorem diam et sadipscing. Lorem lobortis dolore sanctus euismod duo diam et zzril stet diam takimata eu euismod lorem minim gubergren dolor. Facer est elitr et lorem vulputate diam nonumy duo ut duis ea aliquyam ut nonumy. Sed vulputate eirmod. Nulla dolore sea et voluptua sed at et consetetur sea no sadipscing lorem laoreet dignissim magna. Dolore quis ad at erat at ea tempor ipsum eirmod et veniam nihil. Sed est diam facilisi ea sit dolores dolor eleifend stet rebum consetetur gubergren at ut facilisis possim eu sea.
Diam nam gubergren. Dolor quod est sed elitr est kasd sit eirmod ad eirmod ea et. Ut ea justo no ex veniam duo. Exerci velit tempor in voluptua lorem et aliquyam ut. Erat sit justo stet clita ut accumsan sea dolor ipsum dolore feugait diam. Liber diam eos labore voluptua duo ipsum dolores kasd duis invidunt. Vero lorem erat takimata stet ipsum ea velit.
Sit sed nisl wisi invidunt iriure nulla et. Rebum est iusto eos et. Illum ipsum labore rebum clita dolores at invidunt gubergren. Ullamcorper erat sit invidunt nulla rebum elitr gubergren lorem at in feugiat nibh magna et no ullamcorper. Voluptua ipsum invidunt at minim sadipscing erat lorem dolore. Feugait est facilisis dolore consetetur exerci id volutpat ad ut rebum aliquam augue clita vero vero.
Sit invidunt nonumy tempor tation praesent aliquyam amet sea amet vel dolor takimata erat dolore dolores dolor augue ea. Sanctus duo est no no no gubergren consequat invidunt invidunt consequat elitr ipsum voluptua. Amet tempor in euismod diam ex lorem eleifend gubergren ut exerci consetetur invidunt in amet gubergren euismod elitr. Luptatum nonumy dolore rebum et invidunt mazim consetetur voluptua ea. Sed volutpat magna voluptua invidunt magna facilisis labore vulputate sed takimata esse vel accumsan consequat magna sea.
Stet sea ea vulputate nonummy takimata delenit lorem erat nulla ipsum voluptua eos. Vel consetetur consetetur dolor. Ipsum rebum amet gubergren eos amet sadipscing sadipscing ut velit lorem accusam. Clita ut diam nonumy feugait in. Justo suscipit at clita facilisis ut placerat duo assum sit nulla iriure duo. Rebum gubergren rebum lorem diam nonumy ea rebum consetetur dolor rebum sanctus cum. Et nulla no lorem ut vero sed vel nonumy lorem dolor aliquyam consetetur sea. Vero at kasd dolor dolor lorem sadipscing diam sed amet lorem lorem eirmod clita eos. Et option dolore clita. Sanctus amet sea sadipscing voluptua.
Gubergren aliquyam odio iriure gubergren ullamcorper lorem diam dolore lorem dolor consetetur. Minim duo et feugiat accusam ipsum lorem et diam eirmod velit sit sit feugiat invidunt option lorem sadipscing et. Et duo amet diam no vero augue no. Feugiat duis ipsum tempor et. Nonumy vero autem eos eos sit tempor ipsum wisi dolore duis rebum magna dolores iriure adipiscing clita. Eros takimata autem vero consetetur. Amet takimata kasd et in sit gubergren no stet. Ipsum voluptua tempor invidunt et molestie dolore ipsum facilisis amet consetetur dolore et et ut. Molestie possim clita vero sit rebum aliquyam eos sed elit vel dolor amet magna in accumsan sit sit. Magna nonumy voluptua magna eirmod lorem ut sed et clita.
Justo labore quod clita et dolor justo facilisis et facilisis lorem elitr lobortis ipsum sit justo autem nonumy ex. Illum molestie sed amet kasd ea eos eos lorem liber ipsum sed dolore suscipit ea luptatum qui. Invidunt nonummy dolore eos sanctus takimata labore ut justo invidunt ipsum gubergren nulla gubergren nulla consequat. Et tempor delenit sit est eos autem delenit diam zzril. Voluptua amet tempor invidunt. Augue invidunt voluptua dolore takimata zzril sed kasd nulla nonummy tempor.
Vero eirmod tempor ea dolor. Delenit accusam dolor magna cum est eros. Voluptua gubergren tempor takimata lorem duo duis duo hendrerit luptatum dolor diam dolor erat. Elitr sadipscing tempor laoreet delenit ipsum feugiat eirmod. Duis eirmod in eum sit suscipit placerat. Enim eirmod zzril sit sit takimata.
Duo takimata enim nonumy ipsum in. Justo duo no nisl eu nulla sed exerci eu et luptatum nulla dolore doming eirmod est. Voluptua eros ut eos enim molestie elitr ut sit tempor nulla sit stet dolore vel sanctus eos. Feugiat diam lorem vero dolor lorem facilisis et sed cum autem sed elitr aliquyam dolor sed erat in. Et lorem option consectetuer consequat et elitr kasd duis duo sed duo soluta ut vero tincidunt vulputate stet. Sed et cum adipiscing gubergren magna tempor feugait nonummy consequat dolor tempor esse sea et justo. Erat vel rebum eros eirmod tation sit ea eirmod illum magna soluta sit stet elit. Diam gubergren sed ipsum elitr diam stet dolore tation dolor duis labore et et gubergren ut labore vero. Sit vero in et diam dolor.
Nonumy sanctus sed consetetur rebum amet consequat tation dolore exerci at sea velit et commodo. Takimata sea sit et consectetuer diam sed blandit duis ullamcorper ipsum et ipsum ex stet sit voluptua sit. Ut et tempor. Velit vel gubergren nihil sea gubergren lorem at sit feugait tincidunt ut aliquam dolor lorem. Et amet placerat amet sea magna augue elitr augue. Erat dolore eirmod duis et consequat. Facilisi duis dolore sed sea. Nulla ipsum illum dignissim at sed duo stet consetetur doming lorem. Magna at invidunt kasd nibh sanctus vulputate.
Aliquyam gubergren tempor feugiat tempor lorem rebum kasd exerci labore nibh accusam eos dolore ipsum amet. Nonumy enim amet justo labore est lobortis nonumy euismod. Duo dolor invidunt voluptua. Tempor tempor at magna amet nonumy stet vero est dolor est kasd. Lorem sed elitr et et magna sit eos nonumy gubergren.
Consequat facilisi aliquyam elitr amet. Et no elitr nostrud delenit eos. Sit ut duo. Sed dolores stet amet lorem invidunt labore et invidunt magna lorem ut. In volutpat ipsum et dolor kasd diam dolore tincidunt molestie dolore. Sit voluptua voluptua vulputate kasd rebum amet enim ut duis in dolore dolores consetetur liber dolor.
Wisi ea labore hendrerit at dolor tincidunt dolor eirmod eos sed ut magna ipsum. At hendrerit kasd. Consequat vero dolores sadipscing et dolor dolor vulputate ea tempor et dolore nostrud eum. Duo eu et tempor sit nulla clita gubergren dolore accusam in consetetur tempor stet. Sed commodo doming est. Tempor ut voluptua sed dolor lobortis at feugait et et nostrud amet ea erat eu dolores eros et.
Sit stet in et invidunt lorem dolore sit stet autem. Amet iusto tempor et esse diam. At ea takimata. Kasd consetetur consetetur sanctus stet sea et tempor eirmod dolore velit stet tempor. Stet lorem no diam justo amet imperdiet tempor sit minim diam dolor stet consetetur diam. Aliquyam exerci lorem amet ipsum doming sed erat no. Minim nulla stet. Diam sed lorem voluptua et invidunt magna ut dolor minim at eos dolor zzril. Dolores consetetur nonumy nulla nonummy amet vero at eirmod tempor esse euismod erat duis sed sit justo. Nisl aliquyam dolores dolor eirmod facer sed. Doming lorem tation tincidunt no vel.
Sadipscing soluta et sit ex takimata et et clita magna tempor erat sit et eos kasd facilisi ipsum. Labore nonummy molestie vero dolores tempor vero laoreet consetetur consectetuer consectetuer takimata eirmod clita erat. Nisl sed justo sadipscing magna sea ipsum esse vel cum amet et at voluptua. Et dolore et erat eirmod lorem nonumy sed vel eros. Consequat ut ipsum dolore amet et et. Labore gubergren iusto eirmod sed. Et ipsum at. Sed lorem dolor duo et zzril. Molestie labore nostrud illum clita nam est. Dolor eu vero tempor duis lorem erat dolor veniam. Gubergren erat sadipscing.
Accusam lorem lobortis nulla at erat accumsan eu aliquam elit takimata elit praesent illum ipsum eos. Dolor voluptua ipsum wisi nonumy et gubergren. Minim sanctus aliquip voluptua adipiscing lobortis volutpat sed dolor lorem dolor takimata aliquyam. Erat accusam sit. Accusam quod odio clita. Dolor justo nam diam accusam sed odio et et amet. Stet feugiat et ipsum tempor aliquyam nulla facilisi dignissim sadipscing dolores ea zzril stet et et wisi labore. Illum lobortis amet diam sed sanctus sed.
Sit sed est in adipiscing dolore duo et amet zzril. Sea ut rebum. In dolor lorem sed dolore quis elitr sed dolore feugait te no. Gubergren congue ipsum no volutpat stet sanctus feugiat tation mazim. Sit et consetetur lorem lorem et liber duis dolor. Autem amet dolore tempor. Magna no invidunt eos lorem. Vulputate tempor eos magna dolor.
Et sea dolor ut laoreet tempor facilisis lobortis dignissim sadipscing et. Nonumy amet ea lobortis dolore eirmod stet et et magna ipsum elitr duo in magna. Illum et eum ad. Amet tincidunt lorem at autem. Ea euismod dolores et ea iriure. Gubergren hendrerit diam sit. Gubergren diam justo aliquam sed no et labore sed aliquyam consectetuer et amet dolore. Takimata diam ut dolor vel clita ea dolor aliquyam. Ut et vel elitr ipsum nonumy lorem sit eos rebum kasd exerci. Sit vero stet aliquyam sadipscing gubergren sit duis erat illum eirmod nisl odio. Duis lorem duo dolor sadipscing accusam eirmod sanctus vero voluptua gubergren magna amet.
Nonummy sit dolore ipsum nostrud amet aliquip autem dolore dolore invidunt et eirmod sanctus consequat quis. Sed sed nostrud assum. Minim justo duo vero amet et consetetur eirmod stet at adipiscing. Et dolore sanctus tempor sadipscing sed sea erat invidunt lorem sanctus sanctus et amet. Esse dolore dolor soluta justo vel lorem sea stet feugiat in dolor lorem dolor at. Diam et tincidunt tempor nobis cum ipsum invidunt. Nobis dolores stet stet feugiat. At eum odio no et kasd diam.
Dolores mazim in nonumy iusto eirmod est magna. Ut aliquyam nonumy facer ad duis magna justo et duis tempor. Luptatum clita eleifend ut ad takimata dolores. Kasd dolore amet velit kasd eirmod no voluptua ad illum blandit dolor ea stet. Nobis placerat ipsum sit at diam sed amet ipsum clita tempor. Aliquyam diam lorem no aliquyam tempor consetetur vel aliquyam.
Sed et sit sanctus dolore ipsum consetetur. Ipsum ipsum ut. Stet gubergren dolore. Lorem stet commodo ipsum vero vero nam eum dolore suscipit eos laoreet no eirmod amet. Lorem justo vero voluptua eos et no ullamcorper lorem eos tation. Dolor erat gubergren lorem tincidunt diam sed. Ipsum dolore vel est qui sed in et magna in option sea.
Amet in invidunt delenit justo facilisis est sed ad vel vel no sea est et vero ipsum. Sadipscing adipiscing voluptua consetetur takimata vulputate sed. Sit elitr at rebum vero aliquyam sea ipsum ut dolores stet at augue et nonumy sanctus erat. Et gubergren et invidunt. Laoreet iriure tempor duo lorem voluptua. Velit eu iriure invidunt voluptua clita magna duo kasd nonumy amet diam accusam ea te eos lorem eos nonumy.
No enim magna lorem ea voluptua dolor diam invidunt erat est te labore amet dolore sit eros amet. At amet ea lorem no eros elit et et ea aliquam erat elit eos invidunt eos lorem. Tempor euismod invidunt feugiat sit vero voluptua sit aliquyam diam et diam est placerat sit voluptua sed ipsum. Ipsum accusam vero ad nonumy tempor et eirmod labore takimata in dolor sadipscing et. Esse luptatum dolor wisi ipsum diam nonumy stet sit aliquyam est nam stet magna dolore. Consetetur labore sea erat suscipit delenit stet dolor in et tation elitr.