I need to change the value of a field in an existing PDF file.
I am using
AcroFields and that's working fine.
But, in doing so, it is required to create a new PDF and I would like the change
to be reflected in the existing PDF itself. If I am setting the destination
to be the same as the original
filename, then my application fails.
You can't read a file and write to it simultaneously. Think of how Microsoft Word works: you can't open a Word document and write directly to it. Word always creates a temporary file, writes the changes to it, then replaces the original file with it, and then throws away the temporary file.
You can do that too:
read the original file with
create a temporary file for
PdfStamper, and when you're done,
replace the original file with the temporary file.
read the original file into a
use the path to the original file for
The latter option is more dangerous, as you'll lose the original file
if you do something that causes an exception in
If I were you, I'd create a temporary file.