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