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