| 1 47 48 package com.lowagie.text.pdf; 49 import com.lowagie.text.DocumentException; 50 import com.lowagie.text.Image; 51 54 public class Type3Glyph extends PdfContentByte { 55 56 private PageResources pageResources; 57 private boolean colorized; 58 59 private Type3Glyph() { 60 super(null); 61 } 62 63 Type3Glyph(PdfWriter writer, PageResources pageResources, float wx, float llx, float lly, float urx, float ury, boolean colorized) { 64 super(writer); 65 this.pageResources = pageResources; 66 this.colorized = colorized; 67 if (colorized) { 68 content.append(wx).append(" 0 d0\n"); 69 } 70 else { 71 content.append(wx).append(" 0 ").append(llx).append(' ').append(lly).append(' ').append(urx).append(' ').append(ury).append(" d1\n"); 72 } 73 } 74 75 PageResources getPageResources() { 76 return pageResources; 77 } 78 79 public void addImage(Image image, float a, float b, float c, float d, float e, float f, boolean inlineImage) throws DocumentException { 80 if (!colorized && (!image.isMask() || !(image.getBpc() == 1 || image.getBpc() > 0xff))) 81 throw new DocumentException("Not colorized Typed3 fonts only accept mask images."); 82 super.addImage(image, a, b, c, d, e, f, inlineImage); 83 } 84 85 public PdfContentByte getDuplicate() { 86 Type3Glyph dup = new Type3Glyph(); 87 dup.writer = writer; 88 dup.pdf = pdf; 89 dup.pageResources = pageResources; 90 dup.colorized = colorized; 91 return dup; 92 } 93 94 } | Popular Tags |