forked from coolwanglu/pdf2htmlEX
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pdf2htmlEX.1.in
288 lines (197 loc) · 9.24 KB
/
pdf2htmlEX.1.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
.TH pdf2htmlEX 1 "pdf2htmlEX @PDF2HTMLEX_VERSION@"
.SH NAME
.PP
.nf
pdf2htmlEX \- converts PDF to HTML without losing text and format.
.fi
.SH USAGE
.PP
.nf
pdf2htmlEX [options] <input\-filename> [<output\-filename>]
.fi
.SH DESCRIPTION
.PP
pdf2htmlEX is a utility that converts PDF files to HTML files.
pdf2htmlEX tries its best to render the PDF precisely, maintain proper styling, while retaining text and optmizing for Web.
Fonts are extracted form PDF and then embedded into HTML (Type 3 fonts are not supported). Text in the converted HTML file is usually selectable and copyable.
Other objects are rendered as images and also embedded.
.SH OPTIONS
.SS Pages
.TP
.B -f, --first-page <num> (Default: 1)
Specify the first page to process
.TP
.B -l, --last-page <num> (Default: last page)
Specify the last page to process
.SS Dimensions
.B --zoom <ratio>, --fit-width <width>, --fit-height <height>
--zoom specifies the zoom factor directly; --fit-width/height specifies the maximum width/height of a page, the values are in pixels.
If multiple values are specified, the minimum one will be used.
If none is specified, pages will be rendered as 72DPI.
.TP
.B --use-cropbox <0|1> (Default: 0)
Use CropBox instead of MediaBox for output.
.TP
.B --hdpi <dpi>, --vdpi <dpi> (Default: 144)
Specify the horizontal and vertical DPI for images
.SS Output
.TP
.B --single-html <0|1> (Default: 1)
Whether to embed everything into one HTML file.
If switched off, there will be several files generated along with the HTML file including files for fonts, css, images.
Note that the outline will always be embedded into the main HTML file no matter if this switch is on or not.
And only when this switch is off will there be a separate .outline file contains the outline.
You need to modify the manifest if you do not want outline embedded.
.TP
.B --split-pages <0|1> (Default: 0)
If turned on, the pages, css, and outline will be stored into separated files and no consolidated <output-filename>.html will be generated.
<output-filename> may be used to specify the format for the filenames for individual pages. <output-filename> may contain a %d placeholder to indicate where the page number should be placed. The placeholder supports a limited subset of normal numerical placeholders, including specified width and zero padding.
If <output-filename> does not contain a placeholder for the page number, the page number will be inserted directly before the file extension. If the filename does not have an extension, the page number will be placed at the end of the file name.
If <output-filename> is not specified, <input-filename> will be used for the output filename, replacing the extension with .page and adding the page number directly before the extension.
This switch is useful if you want pages to be loaded separately & dynamically -- in which case you need to compose the page yourself, and a supporting backend might be necessary.
.B Examples
.B pdf2htmlEX --split-pages 1 foo.pdf
Yields page files foo1.page, foo2.page, etc.
.B pdf2htmlEX --split-pages 1 foo.pdf bar.baz
Yields page files bar1.baz, bar2.baz, etc.
.B pdf2htmlEX --split-pages 1 foo.pdf page%dbar.baz
Yields page files page1bar.baz, page2bar.baz, etc.
.B pdf2htmlEX --split-pages 1 foo.pdf bar%03d.baz
Yields page files bar001.baz, bar002.baz, etc.
.TP
.B --dest-dir <dir> (Default: .)
Specify destination folder
.TP
.B --css-filename <filename> (Default: <none>)
Specify the filename of the generated css file, if not embedded.
If it's empty, the file name will be determined automatically.
.TP
.B --outline-filename <filename> (Default: <none>)
Specify the filename of the generated outline file, if not embedded.
If it's empty, the file name will be determined automatically.
.TP
.B --fallback <0|1> (Deafult: 0)
Output in fallback mode, for better accuracy and browser compatibility, but the size becomes larger.
.TP
.B --process-nontext <0|1> (Default: 1)
Whether to process non-text objects (as images)
.TP
.B --process-outline <0|1> (Default: 0)
Whether to show outline in the generated HTML
.SS Fonts
.TP
.B --embed-base-font <0|1> (Default: 1)
Whether to embed base 14 fonts.
There are several base font defined in PDF standards, which are supposed to be provided by the PDF reader.
If this switch is on, local matched font will be used and embedded; otherwise only font names are exported such that web browsers may try to find proper fonts themselves.
.TP
.B --embed-external-font <0|1> (Default: 0)
Similar as above but for non-base fonts.
.TP
.B --font-suffix <suffix> (Default: .ttf)
Specify the suffix of fonts extracted from the PDF file.
.TP
.B --decompose-ligature <0|1> (Default: 0)
Decompose ligatures. For example 'fi' -> 'f''i'.
.TP
.B --remove-unused-glyph <0|1> (Default: 1)
If set to 1, remove unused glyphs in embedded fonts in order to reduce the file size.
.TP
.B --auto-hint <0|1> (Default: 0)
If set to 1, hints will be generated for the fonts using fontforge.
This may be preceded by --external-hint-tool.
.TP
.B --external-hint-tool <tool> (Default: <none>)
If specified, the tool will be called in order to enhanced hinting for fonts, this will precede --auto-hint.
The tool will be called as '<tool> <in.suffix> <out.suffix>', where suffix will be the same as specified for --font-suffix.
.TP
.B --stretch-narrow-glyph <0|1> (Default: 0)
If set to 1, glyphs narrower than described in PDF will be stretched; otherwise space will be padded to the right of the glyphs
.TP
.B --squeeze-wide-glyph <0|1> (Default: 1)
If set to 1, glyphs wider than described in PDF will be squeezed; otherwise it will be truncated.
.SS Text
.TP
.B --heps <len>, --veps <len> (Default: 1)
Specify the maximum tolerable horizontal/vertical offset (in pixels).
pdf2htmlEX would try to optimize the generated HTML file moving Text within this distance.
.TP
.B --space-threshold <ratio> (Default: 0.125)
pdf2htmlEX would insert a whitespace character ' ' if the distance between two consecutive letters in the same line is wider than ratio * font_size.
.TP
.B --font-size-multiplier <ratio> (Default: 4.0)
Many web browsers limit the minimum font size, and many would round the given font size, which results in incorrect rendering.
Specify a ratio greater than 1 would resolve this issue, however it might freeze some browsers.
For some versions of Firefox, however, there will be a problem when the font size is too large, in which case a smaller value should be specified here.
.TP
.B --space-as-offset <0|1> (Default: 0)
If set to 1, space characters will be treated as offsets, which allows a better optimization.
For PDF files with bad encodings, turning on this option may cause losing characters.
.TP
.B --tounicode <-1|0|1> (Default: 0)
A ToUnicode map may be provided for each font in PDF which indicates the 'meaning' of the characters. However often there is better "ToUnicode" info in Type 0/1 fonts, and sometimes the ToUnicode map provided is wrong.
If this value is set to 1, the ToUnicode Map is always applied, if provided in PDF, and characters may not render correctly in HTML if there are collisions.
If set to -1, a customized map is used such that rendering will be correct in HTML (visually the same), but you may not get correct characters by select & copy & paste.
If set to 0, pdf2htmlEX would try its best to balance the two methods above.
.TP
.B --optimize-text <0|1> (Deafult: 1)
If set to 1, pdf2htmlEX will try to reduce the number of HTML elements used for text. Turn it off if anything goes wrong.
.SS PDF Protection
.TP
.B -o, --owner-password <password>
Specify owner password
.TP
.B -u, --user-password <password>
Specify user password
.TP
.B --no-drm <0|1> (Default: 0)
Override document DRM settings
.SS Misc.
.TP
.B --clean-tmp <0|1> (Default: 1)
If switched off, intermediate files won't be cleaned in the end.
.TP
.B --data-dir <dir> (Default: @CMAKE_INSTALL_PREFIX@/share/pdf2htmlEX)
Specify the folder holding the manifest and other files (see below for the manifest file)`
.TP
.B --css-draw <0|1> (Default: 0)
Experimental and unsupported CSS drawing
.TP
.B --debug <0|1> (Default: 0)
Print debug information.
.SS Meta
.TP
.B -v, --version
Print copyright and version info
.TP
.B --help
Print usage information
.SH MANIFEST and DATA-DIR
When split-pages is 0, the manifest file describes how the final html page should be generated.
By default, pdf2htmlEX will use the manifest in the default data-dir (run `pdf2htmlEX -v` to check), which gives a simple demo of its syntax.
You can modify the default one, or you can create a new one and specify the correct data-dir in the command line.
When single-html is 1, all files referred by the manifest must be located in the data-dir.
.SH EXAMPLE
.TP
.B pdf2htmlEX /path/to/file.pdf
Convert file.pdf into file.html
.TP
.B pdf2htmlEX --clean-tmp 0 --debug 1 /path/to/file.pdf
Convert file.pdf and leave all intermediate files.
.TP
.B pdf2htmlEX --dest-dir out --single-html 0 /path/to/file.pdf
Convert file.pdf into out/file.html and leave font/image files separated.
.SH COPYRIGHT
.PP
Copyright 2012,2013 Lu Wang <[email protected]>
pdf2htmlEX is GPLv2 & GPLv3 dual licensed
.SH AUTHOR
.PP
pdf2htmlEX is written by Lu Wang <[email protected]>
.SH SEE ALSO
.TP
Home page
http://github.com/coolwanglu/pdf2htmlEX
.TP
pdf2htmlEX Wiki
https://github.com/coolwanglu/pdf2htmlEX/wiki