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