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