Java/PDF RTF/Transformation
AffineTransformation in PDF
<source lang="java">
import java.awt.geom.AffineTransform; import java.io.FileOutputStream; import com.lowagie.text.Document; import com.lowagie.text.PageSize; import com.lowagie.text.pdf.PdfContentByte; import com.lowagie.text.pdf.PdfWriter; public class AffineTransformationPDF {
public static void main(String[] args) { Document document = new Document(PageSize.A4); try { PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("AffineTransformationPDF.pdf")); document.open(); PdfContentByte cb = writer.getDirectContent(); cb.transform(AffineTransform.getScaleInstance(1.2, 0.75)); cb.moveTo(216, 720); cb.lineTo(360, 360); cb.lineTo(360, 504); cb.lineTo(72, 144); cb.lineTo(144, 288); cb.stroke(); } catch (Exception e) { System.err.println(e.getMessage()); } document.close(); }
}
</source>
Transformations Demo
<source lang="java">
import java.io.FileOutputStream; import java.io.IOException; import com.lowagie.text.Document; import com.lowagie.text.DocumentException; import com.lowagie.text.PageSize; import com.lowagie.text.pdf.PdfContentByte; import com.lowagie.text.pdf.PdfTemplate; import com.lowagie.text.pdf.PdfWriter; public class TransformationsPDF {
public static void main(String[] args) { Document document = new Document(PageSize.A4); try { PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("TransformationsPDF.pdf")); document.open(); PdfContentByte cb = writer.getDirectContent(); PdfTemplate template = cb.createTemplate(120, 120); template.moveTo(30, 10); template.lineTo(90, 10); template.lineTo(10, 80); template.lineTo(30, 80); template.closePath(); template.stroke(); cb.addTemplate(template, 0, 0); cb.addTemplate(template, 0, 1, -1, 0, 200, 600); cb.addTemplate(template, .5f, 0, 0, .5f, 100, 400); } catch (Exception e) { System.err.println(e.getMessage()); } document.close(); }
}
</source>
Transforming Image
<source lang="java">
import java.io.FileOutputStream; import java.io.IOException; import com.lowagie.text.Document; import com.lowagie.text.DocumentException; import com.lowagie.text.Image; import com.lowagie.text.PageSize; import com.lowagie.text.pdf.PdfContentByte; import com.lowagie.text.pdf.PdfWriter; public class TransformImagePDF {
public static void main(String[] args) { Document.rupress = false; Document document = new Document(PageSize.A4); try { PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("TransformImagePDF.pdf")); document.open(); PdfContentByte cb = writer.getDirectContent(); Image img = Image.getInstance("logo.png"); cb.addImage(img, 250, -50, -30, 550, 100, 100); } catch (Exception e) { System.err.println(e.getMessage()); } document.close(); }
}
</source>