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