Author: tilman Date: Sun Jul 13 07:08:13 2025 New Revision: 1927170 URL: http://svn.apache.org/viewvc?rev=1927170&view=rev Log: PDFBOX-5660: avoid default encoding
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFAnnotationStamp.java Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFAnnotationStamp.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFAnnotationStamp.java?rev=1927170&r1=1927169&r2=1927170&view=diff ============================================================================== --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFAnnotationStamp.java (original) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFAnnotationStamp.java Sun Jul 13 07:08:13 2025 @@ -116,7 +116,7 @@ public class FDFAnnotationStamp extends } if (base64EncodedAppearance != null && !base64EncodedAppearance.isEmpty()) { - LOG.debug("Decoded XML: {}", () -> new String(decodedAppearanceXML, StandardCharsets.UTF_8)); + LOG.debug("Decoded XML:\n====\n{}\n====", () -> new String(decodedAppearanceXML, StandardCharsets.UTF_8)); Document stampAppearance = XMLUtil .parse(new ByteArrayInputStream(decodedAppearanceXML)); @@ -253,8 +253,16 @@ public class FDFAnnotationStamp extends { try (OutputStream os = stream.createOutputStream()) { - // not sure about charset - os.write(child.getTextContent().getBytes()); + String encoding = child.getOwnerDocument().getXmlEncoding(); + if (encoding == null) + { + encoding = child.getOwnerDocument().getInputEncoding(); + } + if (encoding == null) + { + encoding = "UTF-8"; + } + os.write(child.getTextContent().getBytes(encoding)); LOG.debug("{} => Data was streamed", parentAttrKey); } }