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);
}
}