]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
FOP-916: URL in basic-link is scrambled by encryption
authorSimon Steiner <ssteiner@apache.org>
Wed, 6 Jul 2016 08:27:51 +0000 (08:27 +0000)
committerSimon Steiner <ssteiner@apache.org>
Wed, 6 Jul 2016 08:27:51 +0000 (08:27 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1751621 13f79535-47bb-0310-9956-ffa450edef68

fop-core/src/main/java/org/apache/fop/pdf/PDFUri.java

index a42b9c87238136a11943a7c5146d1a3e39101762..bc17dd997f2fef1f8d00d90110d58cf3d1d628c6 100644 (file)
@@ -49,7 +49,7 @@ public class PDFUri extends PDFAction {
     }
 
     private String getDictString() {
-        return "<< /URI (" + encodeString(uri) + ")\n/S /URI >>";
+        return "<< /URI " + encodeURI(uri) + "\n/S /URI >>";
     }
 
     /** {@inheritDoc} */
@@ -58,4 +58,13 @@ public class PDFUri extends PDFAction {
         return getDictString();
     }
 
+    private String encodeURI(String text) {
+        if (getDocument() != null && getDocumentSafely().isEncryptionActive()) {
+            final byte[] buf = PDFText.encode(text);
+            byte[] enc = getDocument().getEncryption().encrypt(buf, this);
+            return PDFText.toHex(enc, true);
+        } else {
+            return "(" + text + ")";
+        }
+    }
 }