aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJeremias Maerki <jeremias@apache.org>2004-04-03 08:30:08 +0000
committerJeremias Maerki <jeremias@apache.org>2004-04-03 08:30:08 +0000
commit046b03471d8ee542309b1d53b80f03ad3c5b61ab (patch)
tree213537b8a436a20c57eda90eda0ba566a92155ab /src
parentb4e157217f616e85e8653f980d50a201d1789946 (diff)
downloadxmlgraphics-fop-046b03471d8ee542309b1d53b80f03ad3c5b61ab.tar.gz
xmlgraphics-fop-046b03471d8ee542309b1d53b80f03ad3c5b61ab.zip
Bugzilla Bug 28078
PDFInfo fixed to output the correct timezone for the creation date. Submitted by: Tomas Soucek <tomas.soucek.at.i.cz> Patch not applied as given. I moved the formatting of the date/time into PDFObject avoiding the inner class. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@197485 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src')
-rw-r--r--src/java/org/apache/fop/pdf/PDFInfo.java5
-rw-r--r--src/java/org/apache/fop/pdf/PDFObject.java18
2 files changed, 19 insertions, 4 deletions
diff --git a/src/java/org/apache/fop/pdf/PDFInfo.java b/src/java/org/apache/fop/pdf/PDFInfo.java
index e9833082c..e65e8e3ef 100644
--- a/src/java/org/apache/fop/pdf/PDFInfo.java
+++ b/src/java/org/apache/fop/pdf/PDFInfo.java
@@ -21,7 +21,6 @@ package org.apache.fop.pdf;
import java.util.Date;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import java.text.SimpleDateFormat;
/**
* class representing an /Info object
@@ -156,10 +155,8 @@ public class PDFInfo extends PDFObject {
if (creationDate == null) {
creationDate = new Date();
}
- final SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
- final String str = sdf.format(creationDate) + "+00'00'";
bout.write(encode("/CreationDate "));
- bout.write(encodeString("D:" + str));
+ bout.write(encodeString(formatDateTime(creationDate)));
bout.write(encode("\n>>\nendobj\n"));
} catch (IOException ioe) {
log.error("Ignored I/O exception", ioe);
diff --git a/src/java/org/apache/fop/pdf/PDFObject.java b/src/java/org/apache/fop/pdf/PDFObject.java
index 272cd01c7..95047be14 100644
--- a/src/java/org/apache/fop/pdf/PDFObject.java
+++ b/src/java/org/apache/fop/pdf/PDFObject.java
@@ -21,6 +21,8 @@ package org.apache.fop.pdf;
// Java
import java.io.IOException;
import java.io.OutputStream;
+import java.text.SimpleDateFormat;
+import java.util.Date;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -221,5 +223,21 @@ public abstract class PDFObject {
return buf;
}*/
}
+
+ /** Formatting pattern for PDF date */
+ protected static final SimpleDateFormat DATE_FORMAT
+ = new SimpleDateFormat("'D:'yyyyMMddHHmmssZ");
+
+ /**
+ * Formats a date/time according to the PDF specification
+ * (D:YYYYMMDDHHmmSSOHH'mm').
+ * @param time date/time value to format
+ * @return the requested String representation
+ */
+ protected String formatDateTime(Date time) {
+ String s = DATE_FORMAT.format(time);
+ int i = s.length() - 2;
+ return s.substring(0, i) + "'" + s.substring(i) + "'";
+ }
}