aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Steiner <ssteiner@apache.org>2014-04-28 12:54:29 +0000
committerSimon Steiner <ssteiner@apache.org>2014-04-28 12:54:29 +0000
commitbc584b5ceac0a3fbc692292b617b183396239742 (patch)
tree32f1fa7e32ecfce62dd5b8542451e9763196de86
parent5cae15e0accf7bb753111394ba9870f5b815ab29 (diff)
downloadxmlgraphics-fop-bc584b5ceac0a3fbc692292b617b183396239742.tar.gz
xmlgraphics-fop-bc584b5ceac0a3fbc692292b617b183396239742.zip
FOP-2337 Remove xobj type=form
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1590619 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--src/java/org/apache/fop/pdf/PDFResources.java31
-rw-r--r--src/java/org/apache/fop/render/pdf/PDFContentGenerator.java7
2 files changed, 34 insertions, 4 deletions
diff --git a/src/java/org/apache/fop/pdf/PDFResources.java b/src/java/org/apache/fop/pdf/PDFResources.java
index 6d09d5738..dc6319f07 100644
--- a/src/java/org/apache/fop/pdf/PDFResources.java
+++ b/src/java/org/apache/fop/pdf/PDFResources.java
@@ -45,7 +45,7 @@ public class PDFResources extends PDFDictionary {
/**
* /Font objects keyed by their internal name
*/
- protected Map<String, PDFFont> fonts = new LinkedHashMap<String, PDFFont>();
+ protected Map<String, PDFDictionary> fonts = new LinkedHashMap<String, PDFDictionary>();
/**
* Set of XObjects
@@ -76,6 +76,8 @@ public class PDFResources extends PDFDictionary {
/** Named properties */
protected Map<String, PDFReference> properties = new LinkedHashMap<String, PDFReference>();
+ private PDFResources parent;
+
/**
* create a /Resources object.
*
@@ -87,13 +89,29 @@ public class PDFResources extends PDFDictionary {
setObjectNumber(objnum);
}
+ public void setParentResources(PDFResources p) {
+ parent = p;
+ }
+
+ public PDFResources getParentResources() {
+ return parent;
+ }
+
/**
* add font object to resources list.
*
* @param font the PDFFont to add
*/
public void addFont(PDFFont font) {
- this.fonts.put(font.getName(), font);
+ fonts.put(font.getName(), font);
+ }
+
+ public void addFont(String name, PDFDictionary font) {
+ fonts.put(name, font);
+ }
+
+ public Map<String, PDFDictionary> getFonts() {
+ return fonts;
}
/**
@@ -220,12 +238,17 @@ public class PDFResources extends PDFDictionary {
}
private void populateDictionary() {
- if (!this.fonts.isEmpty()) {
+ if (!this.fonts.isEmpty() || (parent != null && !parent.getFonts().isEmpty())) {
PDFDictionary dict = new PDFDictionary(this);
/* construct PDF dictionary of font object references */
- for (Map.Entry<String, PDFFont> entry : fonts.entrySet()) {
+ for (Map.Entry<String, PDFDictionary> entry : fonts.entrySet()) {
dict.put(entry.getKey(), entry.getValue());
}
+ if (parent != null) {
+ for (Map.Entry<String, PDFDictionary> entry : parent.getFonts().entrySet()) {
+ dict.put(entry.getKey(), entry.getValue());
+ }
+ }
put("Font", dict);
}
diff --git a/src/java/org/apache/fop/render/pdf/PDFContentGenerator.java b/src/java/org/apache/fop/render/pdf/PDFContentGenerator.java
index ac7b1d905..3f75554fb 100644
--- a/src/java/org/apache/fop/render/pdf/PDFContentGenerator.java
+++ b/src/java/org/apache/fop/render/pdf/PDFContentGenerator.java
@@ -486,6 +486,13 @@ public class PDFContentGenerator {
restoreGraphicsState();
}
+ public void placeImage(AffineTransform at, String stream) {
+ saveGraphicsState();
+ concatenate(at);
+ add(stream);
+ restoreGraphicsState();
+ }
+
/**
* Places a previously registered image at a certain place on the page,
* bracketing it as a marked-content sequence.