La libreria piu' semplice e' GnuJPdf che gestisce sostanzialmente solo la parte testuale e poco piu' con il
vantaggio di avere una dimensione veramente esigua
GnuJPdf
--------------------------------------------------
package pdf;
import gnu.jpdf.PDFGraphics;
import gnu.jpdf.PDFJob;
import java.awt.Font;
import java.awt.Graphics;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.OutputStream;
public class scrivi {
static OutputStream out;
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
out = new BufferedOutputStream (new FileOutputStream (new File ("/home/luca/gnujpdf.pdf")));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
PDFJob job = new PDFJob (out);
Graphics graphics = job.getGraphics ();
((PDFGraphics)graphics).setFont (new Font ("Helvetica", Font.PLAIN, 12));
graphics.drawString ("Esempio di documento PDF", 60, 80);
graphics.drawString ("Linea di testo", 60, 100);
graphics.drawString ("Pagina 1", 60, 120);
// seconda pagina
graphics = job.getGraphics ();
((PDFGraphics)graphics).setFont (new Font ("Helvetica", Font.PLAIN, 12));
graphics.drawString ("Testo su pagina 2", 60, 80);
graphics.drawString ("ancora testo", 60, 100);
graphics.drawString ("Pagina 2", 60, 120);
graphics.dispose ();
job.end ();
}
}
--------------------------------------------------
A questo link il risultato del programma
Altrimenti una libreria molto piu' completa e' data da iText che ha una sintassi sostanzialmente
banale e gestisce anche le immagini (con la possibilita' anche di modificarle al volo)
iText
--------------------------------------------------
package com.test.itext;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Image;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
public class Scrivi {
/**
* @param args
* @throws IOException
* @throws MalformedURLException
*/
public static void main(String[] args) throws MalformedURLException, IOException {
BufferedOutputStream out = null;
// TODO Auto-generated method stub
try {
out = new BufferedOutputStream (new FileOutputStream (new File ("/home/luca/itext.pdf")));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Document doc = new Document ();
try
{
PdfWriter.getInstance (doc, out);
doc.open ();
doc.add (new Paragraph ("Esempio di documento Pdf"));
doc.add (new Paragraph ("Linea"));
doc.add (new Paragraph ("Pagina 1"));
//inserisce una immagine in una posizione specifica e la scala
Image immagine = Image.getInstance("/home/luca/grafico.png");
immagine.setAbsolutePosition(100f, 400f);
immagine.scalePercent(70f);
doc.add(immagine);
doc.newPage ();
doc.add (new Paragraph ("Ancora testo"));
doc.add (new Paragraph ("--------------"));
doc.add (new Paragraph ("Pagina due"));
}
catch (DocumentException e)
{
System.out.println ("Fatal PDF error: " + e);
}
doc.close ();
}
}
-------------------------------------------------------------------
A questo link il risultato del programma
A questo link il risultato del programma
Nessun commento:
Posta un commento