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