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