Java Tutorial/PDF/Image
Содержание
- 1 Add image to an existing Pdf document
- 2 Black and White
- 3 Convert java.awt.Image to com.lowagie.text.Image
- 4 Create chunk from Image
- 5 Get Image height and width
- 6 Image Absolute Position
- 7 Image Alignment
- 8 Image Mask
- 9 Image transition
- 10 Image Wrapping
- 11 Pattern Matrix for an image
- 12 Red and Yellow
- 13 Rotate 30 degrees
- 14 Rotate 45 degrees
- 15 Scale Absolute
- 16 Scale Percent
- 17 Scale Percent:/td>
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>