-
Notifications
You must be signed in to change notification settings - Fork 2
/
changelog.txt
executable file
·305 lines (305 loc) · 18 KB
/
changelog.txt
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
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
* 2.02 - July 24, 2013
o Added drop_xmp output option for removing the document XMP metadata
stream from a PDF.
o Added dump_data output of custom page data embedded by STAMPtk
tool. See the embed option in STAMPtk for more information.
o Improved PDF bookmark merging logic so it can handle more input
cases.
o Fixed a password bug where some 'upper-ASCII' characters weren't
being mapped to the correct code points.
o Fixed a 40-bit decryption bug introduced in version 2.00.
o Fixed a bug in the bookmark merging logic that caused bookmarks to
be omitted from the merged PDF.
o Added a test to ensure that encryption passwords use permitted
characters only. (Decryption attempts still allow a larger set of
input characters.)
o Rewrote the wide-to-utf8 code for Windows to make it more rigorous.
o Organized our calls of JvInitClass() in main().
o Added descriptions to some exception reports.
o Reviewed some code from pdftk.cc, PdfReader.java, PdfWriter.java
and friends.
* 2.01 - June 5, 2013
o Fixed an uncompress bug introduced in 2.00 that corrupted some
image streams.
o Updated the Windows pdftk.exe compiler settings to remedy an
elusive NullPointerException reported in the field. This problem
first appeared in version 2.00.
* 2.00 - May 22, 2013
o Added AES decryption of input PDFs. The 'owner' password is still
required when decrypting any PDF.
o Added merging of bookmarks/outlines when merging full PDFs.
o Added new rotate operation, which is a convenient way of rotating
select pages of a single PDF.
o Added new dump_data_annots operation. Currently it reports only
link annotation information.
o Added new need_appearances output option. Use this when filling a
form with non-ASCII text to ensure the best presentation in Adobe
Reader/Acrobat. It won't work when combined with the flatten
option.
o Improved the compress option so that output PDFs are more compact
and efficient.
o Added page media information to dump_data output: page rotation,
page media bounds and page crop bounds.
o Improved the performance of dump_data so it works better with very
large PDFs.
o Improved the memory management in the Windows binary. This fixes
the rare "Too many heap sections" error.
o Fixed a bug where form fields with multiple values were not being
properly reported by dump_data_fields.
o Fixed a_burst_bug that was corrupting the output PDF pages.
o Fixed an_input_bug to allow interactive prompting of both the user
and owner passwords.
o Fixed a burst bug so that doc_data.txt is now output to the same
directory as the PDF's pages when an output directory is given.
o Fixed a bug where indirect references to the PDF ID in the trailer
would cause a crash.
o Added a test to fill_form so it checks that an input PDF is a form
before trying to fill it with data.
o Added a return value of 3 for warnings 'PDF information not added'
or 'PDF form not filled.'
o Improved the error message for cat page range errors.
o Fixed the error report when an input page number is out of range.
o Fixed a burst bug where document metadata wasn't being copied
properly to the output PDFs.
o Updated the Bouncy Castle library to 1.48.
o When using the cat operation, the output PDF version number is now
set to the maximum PDF version of all of the input PDFs. If any of
the input PDFs have PDF extension levels, then the greatest
extension level is also copied to the output PDF.
* 1.45 - December 6, 2012
o You can now add or change a PDF's bookmarks using update_info.
o Added record delimiters to dump_data output to help make parsing
more reliable.
o The changes to dump_data output (described above) are also now
required for the input to update_info.
o You can now use multi-character input handles. Prior versions were
limited to a single character, imposing an arbitrary limitation on
the number of input PDFs when using handles. Handles still must be
all upper-case ASCII.
o Added means of referring to PDF pages in reverse order. By
prefixing a page number with an r, it counts from the end of the
document. For example, r1 is the last page, r2 is the next-to-last
page, etc.
o Changed the syntax for page rotation. Instead of N, S, E, W, L, R
and D, now use: north, south, east, west, left, right and down.
o Fixed a problem reading input PDF filenames that have non-ASCII
characters on Windows 7.
o Fixed a stream parsing issue with troublesome PDFs that don't
strictly follow the PDF specification.
* 1.44 - October 28, 2010
o Added new feature for collating PDF page scans: shuffle. Please see
the man page for usage details.
o Introduced update_info_utf8, dump_data_utf8 and
dump_data_fields_utf8 to provide UTF-8 companions to update_info,
dump_data and dump_data_fields. These latter operations use XML
numerical entities to encode non-ASCII characters. In version 1.43,
we changed the encoding for update_info to UTF-8, but that made it
incompatible with dump_data and also broke some downstream
applications. By introducing these UTF-8 operations, we can revert
update_info to its original behavior.
o Burst feature now copies the metadata (including XMP) from the
input file to the output pages.
o Updated Bouncy Castle library to 1.45.
o Removed or replaced third-party code that wasn't compatible with
pdftk's GPL license.
o Updated third-party license information.
* 1.43 - September 30, 2010
o Improved input handle detection to reduce false hits.
o Improved keyword detection logic to eliminate false hits when input
filenames happen to include pdftk keywords even, odd and end.
o Added option of prompting the user for the output when bursting a
PDF. Also reviewed other filename prompting code.
o Changed the PDF parser to accept name tokens longer than 127
characters -- the PDF Specification says that 127 is the limit.
This isn't related to file names. The issue arose with PDFs created
by Acrobat Web Capture 9.0.
o Fixed a problem with filling form choice fields in some PDFs where
the old form value was 'sticking.'
o Changed pdftk behavior when handling subset fonts so it doesn't
alter font name "tags." This was causing printing problems with
Acrobat 3.01 on Windows.
o Fixed a stream parsing bug that was causing page content to
disappear after merge of PDFs generated by Microsoft Reporting
Services PDF Rendering Extension 10.0.0.0.
o Added multistamp and multibackground features provided by a Debian
patch -- thanks!
o Clear the signal mask as workaround to environments that turn off
signals before calling pdftk. This problem is known to cause pdftk
to hang_in_some_Python_web_setups as well as in PHP.
o Set locale to C as workaround to an unusual exception. This is a
Debian_patch. Please let me know if it causes any troubles.
o Improved reporting of output errors via Debian patch -- thanks!
o Added support for UTF-8 data in update_info via Debian patch -
- thanks!
o Added support for UTF-8 filenames via Debian patch -- thanks!
o Updated build procedure to work better with newer versions of GCC.
Maintained compatibility with older versions of GCC.
o Added license information to the source tree for the third-party
libraries that pdftk uses.
* 1.41 - November 28, 2006
o Fixed a bug that corrupted output PDF xref tables. This corruption
was mild but universal. Most PDF tools can cope with the corrupted
PDFs, but I recommend upgrading from 1.40 to 1.41 as soon as
possible. This bug was introduced in version 1.40 -- version 1.12
does not have this bug.
o Fixed a bug that prevented XFDF form data from being passed to
pdftk via stdin.
o Commented out some unused code from pdftk.cc.
* 1.40 - September 19, 2006
o Added the stamp operation, a natural complement to the existing
background operation.
o Added the page rotating patch provided by David Fabel -- thanks!
Tweaked the patch so it handles a greater variety of input syntax
(e.g., 1-20evenE).
o Added the generate_fdf patch provided Bernhard R. Link -- thanks! I
actually rewrote the patch so it uses FDF features built into the
iText library. Please let me know my changes break anything
downstream.
o The fill_form operation can now take XFDF data as well as FDF data.
This feature was sponsored by Vesaria -- thanks!
o Added the drop_xfa option so pdftk could fill forms created with
newer versions of Acrobat or Adobe Designer. Read more about this
above.
o Added the keep_first_id and keep_final_id options for more PDF fun.
o Upgraded the iText library we use to itext-paulo rev. 155. This
makes pdftk harder to compile on older versions of gcc.
o Added the -O2 optimizing switch to Makefile GCJFLAGS. This should
make pdftk leaner and meaner, but could be dropped if your build
acts funny (like segfaulting).
o Fixed a bug that caused pdftk to create bloated PDFs when input PDF
pages had links on their pages.
o Added License-Adobe.txt to the fonts folder, as required for
distribution of Adobe's AFM files.
* 1.12 - November 9, 2004
o Fixed a bug where the presense of page annotations in some PDFs
would cause pdftk to crash. This bug first emerged when processing
a PDF created by FPDF (version 1.52) that contained web links.
Turns out that pdftk erroneously expected all page annotations to
be indirect objects. This assumption has been removed from the
code.
* 1.11 - November 3, 2004
o Fixed a couple bugs in the dump_data_fields form field reporting.
Also improved this feature so it now reports all possible settings
for check box, radio button, list box and combo box form fields.
* 1.10 - October 27, 2004
o Fixed the background feature so it handles rotated pages (input PDF
or background PDF) better. Pdftk will transform the background PDF
page so that its orientation is preserved on every page of the
output PDF, even on input PDF pages that are rotated. I chose this
logic so as to give the user greater control over the results;
rotate pages before processing to achieve the desired output. Let
me know if this logic is too inconveniet for you.
o Fixed form field handling when combining PDF pages. Pdftk used to
permit duplicate form field names, which is illegal PDF. Now, pdftk
detects duplicates and adds name prefixes as needed. If no
duplicates occur, then no changes are made. If an input PDF has a
field represented by multiple annotations, then that is respected
and preserved in the output.
An especially nice upshot to this new handling is that you can now
assemble duplicate PDF forms and not end up with all of their
fields echoing each other (as you get with Acrobat). Run pdftk
A=form.pdf cat A A A output formX3.pdf and you'll get a form that
behaves as you would expect.
o Added stdin support for input PDF, FDF, or Info files (thanks to
Bart Orbons for this patch).
o Added a means for users to control the output PDF filenames when
using the burst feature: pass in a printf-styled format string via
output (documented above).
o Changed background command-line syntax, so it is an operation
instead of an output option. The old syntax also works, for
backward compatibility.
o Now shuffling subset font name prefixes for input PDFs, to prevent
duplicates.
o Updated Makefile.Mandrake according to feedback from Larry
Gilliland.
o Reduced the Windows EXE filesize using UPX, as suggested by Ralf
Koenig.
* 1.00 - August 14, 2004
o Upgraded the iText library we use to itext-paulo rev. 132, which
resolved a bug involving bookmark page references in dump_data
output.
o Fixed the problem of form fields getting corrupted by splitting or
merging PDF form pages.
o Building the Windows binary using libgcj 3.4 seems to have fixed
the problem of using accented characters in filenames and paths.
o Added these new operations: fill_form, update_info, attach_file,
and unpack_file.
o Added the background and flatten output options.
o Added the do_ask interactive mode (the default on Windows) that
asks before overwriting files and asks for passwords to input PDFs,
if necessary. Also added the dont_ask mode (the default on Linux),
for hands-free operation.
o Many input fields can be substituted with PROMPT, which cues pdftk
to ask the user for a filename or password upon execution.
o Added output to stdout via output -.
o Using the uncompress option now also adds page numbers to page
dictionaries, for easy lookup. Find page N (1-based) by searching
for /pdftk_PageNum N. Using the compress option removes these
markers.
o Added Mac OS X Makefile, and removed the optimization flag from the
GCJ flags (which would cause trouble on older versions of gcc, such
as 3.2.2) in all Makefiles.
o Now catching PDF output open exceptions.
o Builds now pack iText font afm files into pdftk, which are required
for the new form filling feature.
* 0.941 - March 28, 2004
o Fixed the 'Input_UnicodeBig not found' error encountered by Windows
users when using the dump_data or the burst operations on some
PDFs.
o Added an optimization flag to the gcj arguments. This can be
adjusted or omitted by editing your platform-specific Makefile.
o Renamed the CC_OPTS Makefile macro to CXXFLAGS, for uniformity.
* 0.94 - March 24, 2004
o Fixed a string copy bug in pdftk.cc.
o Fixed unicode string output so it drops initial, signature
character.
o Fixed nagging gnu.java.locale.Calendar static linking problem
(Windows).
o Made more improvements towards gcc/gcj 3.2 compatibility (e.g.,
RedHat 8, 9).
o Added macros to Makefiles, for easier porting.
o Added simple return codes: 0 --> Success, 1 --> Error, 2 --
> Exception. Some exceptions will return an "Error" return code.
o Removed warning issued when an input PDF has no ID string.
o Empty Info fields no longer reported on dump_data.
o Added newline to end of --help output.
* 0.93 - March 7, 2004
o Removed restriction on the number of input documents. For example,
you can now run:
pdftk *.pdf cat output combined.pdf
to assemble any number of PDFs into a single document.
o Made pdftk run silently by default, and added the verbose output
option for when you want detailed feedback.
o Changed the encryption strength default from 40-bit to 128-bit.
o Improved file open error handling and reporting. If pdftk can't
open a PDF, it tells you why.
o Added RedHat9 and Mandrake makefiles (Thanks to Andre Gompel and
Pablo Rodri'guez). Support for these platforms is still
experimental.
o Copied the MD5 code from libgcj into our tree, to improve support
for older compilers/libraries. This should improve RedHat9 and
Mandrake support.
o Removed pointless warning sometimes issued by the libgcj security
class.
o Added debian directory and Aure'lien's man page, updated man page.
o Reorganized Makefiles (thanks Andre).
* 0.92
o Added logical page numbering (a/k/a page labels) to dump_data
operation.
o Appended .omit extension to a few iText files we don't use, to
speed compiling.
* 0.91
o Removed restriction on adding the same page from the same PDF more
than once.
o Added Solaris Makefile.
o AllFeatures permission now implies 'top quality' printing, not
'degraded' printing.
o Fixed handling of 'empty owner password' case during output
encryption.
o Added test to make sure the user password is not the same as the
owner pw.
o CopyContents also allows ScreenReaders.
o ModifyAnnotation also sets the FillIn bit.
o ModifyContents also sets the Assembly bit.
o Updated docs.
o Added --version switch.