If read was done using WINDOWS-1252 charset and writing is done using
UTF-8 then resulting PDF will be broken after load and save operations.
PDDocument document = PDDocument.load(sourcePath);
If source PDF contains XObject dictionary reference whose name isn't
encoded in UTF-8. For example.
/L#f8vetann 16 0 R
That is read using WINDOWS-1252 encoding. Now if write operation is
using UTF-8 then the resulting name will be
/L#3Fvetann 16 0 R
And resulting PDF is broken and image is missing.
FIX in pull request: https://github.com/apache/pdfbox/pull/77