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