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