Java Tutorial/PDF/Image

Материал из Java эксперт
Перейти к: навигация, поиск

Add image to an existing Pdf document

   <source lang="java">

import java.io.FileOutputStream; import com.lowagie.text.Image; import com.lowagie.text.pdf.BaseFont; import com.lowagie.text.pdf.PdfContentByte; import com.lowagie.text.pdf.PdfReader; import com.lowagie.text.pdf.PdfStamper; public class MainClass {

 public static void main(String[] args) throws Exception {
   PdfReader reader = new PdfReader("HelloWorldRead.pdf");
   PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("HelloWorldStamper2.pdf"));
   Image img = Image.getInstance("watermark.jpg");
   img.setAbsolutePosition(200, 400);
   BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
   PdfContentByte under, over;
   int total = reader.getNumberOfPages() + 1;
   for (int i = 1; i < total; i++) {
     stamper.setRotateContents(false);
     under = stamper.getUnderContent(i);
     under.addImage(img);
   }
   stamper.close();
 }

}</source>





Black and White

   <source lang="java">

import java.awt.Color; import java.awt.Toolkit; import java.io.FileOutputStream; import com.lowagie.text.Document; import com.lowagie.text.PageSize; import com.lowagie.text.Paragraph; import com.lowagie.text.Rectangle; import com.lowagie.text.pdf.PdfWriter; public class MainClass {

 public static void main(String[] args) throws Exception {
   Rectangle r = new Rectangle(PageSize.A4);
   r.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));
   Document document = new Document(r);
   PdfWriter.getInstance(document, new FileOutputStream("2.pdf"));
   document.open();
   java.awt.Image awtImage = Toolkit.getDefaultToolkit().createImage("dog.gif");
   com.lowagie.text.Image img1 = com.lowagie.text.Image.getInstance(awtImage, null, true);
   document.add(img1);
   
   document.close();
 }

}</source>





Convert java.awt.Image to com.lowagie.text.Image

   <source lang="java">

import java.awt.Color; import java.awt.Toolkit; import java.io.FileOutputStream; import com.lowagie.text.Document; import com.lowagie.text.PageSize; import com.lowagie.text.Paragraph; import com.lowagie.text.Rectangle; import com.lowagie.text.pdf.PdfWriter; public class MainClass {

 public static void main(String[] args) throws Exception {
   Rectangle r = new Rectangle(PageSize.A4);
   r.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));
   Document document = new Document(r);
   PdfWriter.getInstance(document, new FileOutputStream("2.pdf"));
   document.open();
   java.awt.Image awtImage = Toolkit.getDefaultToolkit().createImage("dog.gif");
   com.lowagie.text.Image img1 = com.lowagie.text.Image.getInstance(awtImage, null);
   document.add(img1);
   
   document.close();
 }

}</source>





Create chunk from Image

   <source lang="java">

import java.io.FileOutputStream; import com.lowagie.text.Chunk; import com.lowagie.text.Document; import com.lowagie.text.Image; import com.lowagie.text.Paragraph; import com.lowagie.text.pdf.PdfWriter; public class MainClass {

 public static void main(String[] args) throws Exception {
   Document document = new Document();
   PdfWriter.getInstance(document, new FileOutputStream("2.pdf"));
   document.open();
   Chunk fox = new Chunk(Image.getInstance("fox.gif"), 0, -15);
   Chunk dog = new Chunk(Image.getInstance("dog.gif"), 0, -15);
   Paragraph p = new Paragraph("Quick brown ");
   p.add(fox);
   p.add(dog);
   document.add(p);
   document.close();
 }

}</source>





Get Image height and width

   <source lang="java">

import java.io.FileOutputStream; import com.lowagie.text.Document; import com.lowagie.text.Image; import com.lowagie.text.Paragraph; import com.lowagie.text.pdf.PdfWriter; public class MainClass {

 public static void main(String[] args) throws Exception {
   Document document = new Document();
   PdfWriter.getInstance(document, new FileOutputStream("2.pdf"));
   document.open();
   Image jpg1 = Image.getInstance("dog.jpg");
   jpg1.scalePercent(80);
   jpg1.setRotation((float) Math.PI / 6);
   document.add(new Paragraph("rotate 30 degrees"));
   document.add(jpg1);
   document.add(new Paragraph("Original width: " + jpg1.width() + "; original height: "
       + jpg1.height()));    
   document.close();
 }

}</source>





Image Absolute Position

   <source lang="java">

import java.io.FileOutputStream; import com.lowagie.text.Document; import com.lowagie.text.Rectangle; import com.lowagie.text.pdf.PdfWriter; public class MainClass {

 public static void main(String[] args) throws Exception {
   com.lowagie.text.Image img = null;
   Document document = new Document(new Rectangle(200, 280));
   PdfWriter.getInstance(document, new FileOutputStream("2.pdf"));
   document.open();
   img = com.lowagie.text.Image.getInstance("dog.png");
   img.setAbsolutePosition(15, 15);
   document.add(img);
   document.close();
 }

}</source>





Image Alignment

   <source lang="java">

import java.io.FileOutputStream; import com.lowagie.text.Document; import com.lowagie.text.Image; import com.lowagie.text.Phrase; import com.lowagie.text.pdf.PdfWriter; public class MainClass {

 public static void main(String[] args) throws Exception {
   Document document = new Document();
   PdfWriter.getInstance(document, new FileOutputStream("2.pdf"));
   document.open();
   document.add(new Phrase("foxdog.jpg"));
   Image img1 = Image.getInstance("foxdog.jpg");
   img1.setAlignment(Image.LEFT);
   document.add(img1);
   document.add(new Phrase("foxdog.gif"));
   Image img2 = Image.getInstance("foxdog.gif");
   img2.setAlignment(Image.MIDDLE);
   document.add(img2);
   document.add(new Phrase("foxdog.png"));
   Image img3 = Image.getInstance("foxdog.png");
   img3.setAlignment(Image.RIGHT);
   document.add(img3);
   document.close();
 }

}</source>





Image Mask

   <source lang="java">

import java.io.FileOutputStream; import com.lowagie.text.Document; import com.lowagie.text.Image; import com.lowagie.text.pdf.PdfWriter; public class MainClass {

 public static void main(String[] args) throws Exception {
   Document document = new Document();
   PdfWriter.getInstance(document, new FileOutputStream("2.pdf"));
   document.open();
   byte circledata[] = { (byte) 0x3c, (byte) 0x7e, (byte) 0xe7, (byte) 0xc3, (byte) 0xc3,
       (byte) 0xe7, (byte) 0x7e, (byte) 0x3c };
   Image mask = Image.getInstance(8, 8, 1, 1, circledata);
   mask.makeMask();
   mask.setInvertMask(true);
   Image img = Image.getInstance("dog.jpg");
   img.setImageMask(mask);
   document.add(img);
   document.add(Image.getInstance(8, 8, 1, 1, circledata));
   document.add(mask);
   document.close();
 }

}</source>





Image transition

   <source lang="java">

import java.io.FileOutputStream; import com.lowagie.text.Document; import com.lowagie.text.Image; import com.lowagie.text.pdf.PdfWriter; public class MainClass {

 public static void main(String[] args) throws Exception {
   Document document = new Document();
   PdfWriter.getInstance(document, new FileOutputStream("2.pdf"));
   document.open();
   Image img = Image.getInstance("dog.jpg");
   img.setAbsolutePosition(50, 600);
   document.add(img);
   img.setAbsolutePosition(50, 300);
   document.add(img);
   document.close();
 }

}</source>





Image Wrapping

   <source lang="java">

import java.io.FileOutputStream; import com.lowagie.text.Document; import com.lowagie.text.Image; import com.lowagie.text.Phrase; import com.lowagie.text.pdf.PdfWriter; public class MainClass {

 public static void main(String[] args) throws Exception {
   Document document = new Document();
   PdfWriter.getInstance(document, new FileOutputStream("2.pdf"));
   document.open();
   Phrase p = new Phrase("this is a test. ");
   Image img1 = Image.getInstance("foxdog.jpg");
   img1.setAlignment(Image.RIGHT | Image.TEXTWRAP);
   document.add(img1);
   for (int i = 0; i < 20; i++)
     document.add(p);
   Image img2 = Image.getInstance("foxdog.gif");
   img2.setAlignment(Image.MIDDLE | Image.UNDERLYING);
   document.add(img2);
   for (int i = 0; i < 30; i++)
     document.add(p);
   document.close();
 }

}</source>





Pattern Matrix for an image

   <source lang="java">

import java.awt.Color; import java.io.FileOutputStream; import com.lowagie.text.Document; import com.lowagie.text.Font; import com.lowagie.text.Image; import com.lowagie.text.Paragraph; import com.lowagie.text.pdf.CMYKColor; import com.lowagie.text.pdf.PatternColor; import com.lowagie.text.pdf.PdfContentByte; import com.lowagie.text.pdf.PdfPatternPainter; import com.lowagie.text.pdf.PdfShading; import com.lowagie.text.pdf.PdfShadingPattern; import com.lowagie.text.pdf.PdfSpotColor; import com.lowagie.text.pdf.PdfWriter; import com.lowagie.text.pdf.ShadingColor; import com.lowagie.text.pdf.SpotColor; public class MainClass {

 public static void main(String[] args) throws Exception {
   Document document = new Document();
   PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("2.pdf"));
   document.open();
   PdfContentByte cb = writer.getDirectContent();
   PdfSpotColor psc_cmyk = new PdfSpotColor("iTextSpotColorCMYK", 0.25f, new CMYKColor(0.3f, .9f,
       .3f, .1f));
   SpotColor sc_cmyk = new SpotColor(psc_cmyk);
   Image img = Image.getInstance("dog.jpg");
   PdfPatternPainter img_pattern = cb.createPattern(img.scaledWidth(), img.scaledHeight(), img
       .scaledWidth(), img.scaledHeight());
   img_pattern.addImage(img, img.scaledWidth(), 0f, 0f, img.scaledHeight(), 0f, 0f);
   img_pattern.setPatternMatrix(1f, 0f, 0f, 1f, 60f, 60f);
   PatternColor img_color = new PatternColor(img_pattern);
   document.add(new Paragraph("This is a paragraph painted using an image pattern", new Font(
      Font.HELVETICA, 24, Font.BOLD, img_color)));
   document.close();
 }

}</source>





Red and Yellow

   <source lang="java">

import java.awt.Color; import java.awt.Toolkit; import java.io.FileOutputStream; import com.lowagie.text.Document; import com.lowagie.text.PageSize; import com.lowagie.text.Paragraph; import com.lowagie.text.Rectangle; import com.lowagie.text.pdf.PdfWriter; public class MainClass {

 public static void main(String[] args) throws Exception {
   Rectangle r = new Rectangle(PageSize.A4);
   r.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));
   Document document = new Document(r);
   PdfWriter.getInstance(document, new FileOutputStream("2.pdf"));
   document.open();
   java.awt.Image awtImage = Toolkit.getDefaultToolkit().createImage("dog.gif");
   com.lowagie.text.Image img1 = com.lowagie.text.Image.getInstance(awtImage, new Color(0xFF,
       0xFF, 0x00));
   document.add(img1);
   
   document.close();
 }

}</source>





Rotate 30 degrees

   <source lang="java">

import java.io.FileOutputStream; import com.lowagie.text.Document; import com.lowagie.text.Image; import com.lowagie.text.Paragraph; import com.lowagie.text.pdf.PdfWriter; public class MainClass {

 public static void main(String[] args) throws Exception {
   Document document = new Document();
   PdfWriter.getInstance(document, new FileOutputStream("2.pdf"));
   document.open();
   Image jpg1 = Image.getInstance("dog.jpg");
   jpg1.scalePercent(80);
   jpg1.setRotation((float) Math.PI / 6);
   document.add(new Paragraph("rotate 30 degrees"));
   document.add(jpg1);
   document.close();
 }

}</source>





Rotate 45 degrees

   <source lang="java">

import java.io.FileOutputStream; import com.lowagie.text.Document; import com.lowagie.text.Image; import com.lowagie.text.Paragraph; import com.lowagie.text.pdf.PdfWriter; public class MainClass {

 public static void main(String[] args) throws Exception {
   Document document = new Document();
   PdfWriter.getInstance(document, new FileOutputStream("2.pdf"));
   document.open();
   Image jpg1 = Image.getInstance("dog.jpg");
   jpg1.scalePercent(80);
   jpg1.setRotationDegrees(45);
   document.add(jpg1);
  
   document.close();
 }

}</source>





Scale Absolute

   <source lang="java">

import java.io.FileOutputStream; import com.lowagie.text.Document; import com.lowagie.text.Image; import com.lowagie.text.Paragraph; import com.lowagie.text.pdf.PdfWriter; public class MainClass {

 public static void main(String[] args) throws Exception {
   Document document = new Document();
   PdfWriter.getInstance(document, new FileOutputStream("2.pdf"));
   document.open();
   Image jpg = Image.getInstance("dog.jpg");
   jpg.scaleAbsolute(154, 94);
   document.add(new Paragraph("scaleAbsolute(154, 94)"));
   document.add(jpg);
   document.close();
 }

}</source>





Scale Percent

   <source lang="java">

import java.io.FileOutputStream; import com.lowagie.text.Document; import com.lowagie.text.Image; import com.lowagie.text.Paragraph; import com.lowagie.text.pdf.PdfWriter; public class MainClass {

 public static void main(String[] args) throws Exception {
   Document document = new Document();
   PdfWriter.getInstance(document, new FileOutputStream("2.pdf"));
   document.open();
   Image jpg = Image.getInstance("dog.jpg");
   jpg.scalePercent(50);
   document.add(new Paragraph("scalePercent(50)"));
   document.add(jpg);
   document.close();
 }

}</source>





Scale Percent:/td>

   <source lang="java">

import java.io.FileOutputStream; import com.lowagie.text.Document; import com.lowagie.text.Image; import com.lowagie.text.Paragraph; import com.lowagie.text.pdf.PdfWriter; public class MainClass {

 public static void main(String[] args) throws Exception {
   Document document = new Document();
   PdfWriter.getInstance(document, new FileOutputStream("2.pdf"));
   document.open();
   Image jpg = Image.getInstance("dog.jpg");
   jpg.scalePercent(100, 50);
   document.add(new Paragraph("scalePercent(100, 50)"));
   document.add(jpg);
   document.close();
 }

}</source>