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