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