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