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