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