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