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