Hi,

I am fairly new to itext, so I assume I made a stupid mistake.

Below you will find my code which creates a pdf file based on an object that
implements the Printable interface. This object may create more than one
page. After runnen the program, I actualy do get a pdf file, that can be
opened by Acrobad Reader 5.0 and can also be previewed (all pages are
there). When I print the file in Acrobad, I get the first page printed, and
all other pages are printed as a blank page.

If I select only a specific page in the printing dialog of Acrobad, the page
gets printed with content, but the remainder pages are again blank.

What am I doing wrong?


Thanks for the help.


KR,


Jan
/*
 * PdfMaker.java
 *
 * Created on 24 maart 2003, 12:45
 */

/**
 *
 * @author  jv
 */

import com.lowagie.text.*;
import com.lowagie.text.pdf.*;

import java.awt.print.*;
import java.awt.*;
import java.io.*;
import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import java.io.File;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class PdfMaker {

    private Document document;
    private PdfWriter writer;
    private FileOutputStream fout;
    private Graphics2D g2;
    private PageFormat pf;
    private Printable target;
    private JFileChooser chooser = new JFileChooser();
    private String nameFile;
    private File outDir;

    /** Creates a new instance of PdfMaker */
    public PdfMaker(Printable target,PageFormat pf){
        this.pf = pf;
        this.target=target;
        setTargetFile();
        try{
            DefaultFontMapper mapper = new DefaultFontMapper();
            mapper.insertDirectory("c:\\winnt\\fonts");
            com.lowagie.text.Rectangle rect = new

com.lowagie.text.Rectangle((float)pf.getWidth(),(float)pf.getHeight());
            document = new Document(rect);

            fout=new FileOutputStream(outDir.getAbsolutePath()+".pdf");
            writer = PdfWriter.getInstance(document,fout);
            document.open();
            PdfContentByte cb = writer.getDirectContent();
            int w = (int)rect.width();
            int h = (int)rect.height();
            PdfTemplate tp = cb.createTemplate(w, h);

            int pageIndex=0;
            try{
                while(true){
                    tp = cb.createTemplate(w,h);
                    g2 = tp.createGraphics(w, h, mapper);
                    tp.setWidth(w);
                    tp.setHeight(h);

if(target.print(g2,pf,pageIndex)!=Printable.PAGE_EXISTS)break;
                    cb.addTemplate(tp,0,0);
                    document.newPage();
                    pageIndex++;
                }
            }catch(PrinterException pe){}
            document.close();

        }catch(FileNotFoundException fnfe){
            JOptionPane.showMessageDialog(new JFrame(),
                fnfe.getMessage());
        }
        catch(DocumentException de){
            System.out.println("Mislukt");
        }
    }

    private void setTargetFile(){
        nameFile=null;
        chooser.setSelectedFile(null);
        outDir = new File("/Reports");
        chooser.setCurrentDirectory(outDir);

       chooser.addChoosableFileFilter(new PdfFileFilter());
       FileFilter ft = chooser.getAcceptAllFileFilter();
       chooser.removeChoosableFileFilter(ft);
       JFrame frame = new JFrame();
      //
if(chooser.showOpenDialog(frame)!=JFileChooser.APPROVE_OPTION)return;
        try{
        chooser.showOpenDialog(frame);
        nameFile = chooser.getSelectedFile().getName();
        outDir = chooser.getSelectedFile().getAbsoluteFile();
    }catch(Exception exception){
        JOptionPane.showMessageDialog(new
JFrame(),exception.getMessage(),"Error",
          JOptionPane.ERROR_MESSAGE);
   }
    }

}




-------------------------------------------------------
This SF.net email is sponsored by:
The Definitive IT and Networking Event. Be There!
NetWorld+Interop Las Vegas 2003 -- Register today!
http://ads.sourceforge.net/cgi-bin/redirect.pl?keyn0001en
_______________________________________________
iText-questions mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/itext-questions

Reply via email to