Package org.trivee.fb2pdf

Source Code of org.trivee.fb2pdf.HeaderHelper

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.trivee.fb2pdf;

import com.itextpdf.text.BadElementException;
import com.itextpdf.text.Document;
import com.itextpdf.text.Image;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfPageEventHelper;
import com.itextpdf.text.pdf.PdfTemplate;
import com.itextpdf.text.pdf.PdfWriter;

/**
*
* @author vzeltser
*/
public class HeaderHelper extends PdfPageEventHelper {

    public static int ODD = 1;
    public static int EVEN = 0;

    private Image image;
    private boolean firstPass = true;
    private Document doc;
    private PdfWriter writer;
    private PdfPTable table;
    private int oddOrEven;

    public HeaderHelper(Document doc, PdfWriter writer, PdfPTable table, int oddOrEven) throws BadElementException {
        this.doc = doc;
        this.oddOrEven = oddOrEven;
        this.writer = writer;
        this.table = table;
        refresh(table);
    }

    public final void refresh(PdfPTable table) throws BadElementException {
        float templateWidth = doc.getPageSize().getWidth();
        float templateHight = doc.getPageSize().getHeight();
        PdfTemplate tp = PdfTemplate.createTemplate(writer, templateWidth, templateHight);
        float leftMargin = (doc.isMarginMirroring() && oddOrEven == EVEN) ? doc.rightMargin() : doc.leftMargin();
        table.writeSelectedRows(0, -1, leftMargin, templateHight, tp);
        Image footer = Image.getInstance(tp);
        footer.setAbsolutePosition(0, 0);
        this.image = footer;
    }

    @Override
    public void onEndPage(PdfWriter writer, Document document) {
        if (firstPass) {
            firstPass = false;
            return;
        }
   
        try {
            if (oddOrEven == document.getPageNumber() % 2) {
                writer.getDirectContent().addImage(image);
            }
        } catch (Exception ex) {
            throw new RuntimeException(ex);
        }
    }
}
TOP

Related Classes of org.trivee.fb2pdf.HeaderHelper

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.