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