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