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