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