Search in sources :

Example 1 with PdfImportedPage

use of com.itextpdf.text.pdf.PdfImportedPage in project MtgDesktopCompanion by nicho92.

the class DCIDeckSheetExport method export.

@Override
public void export(MagicDeck deck, File dest) throws IOException {
    PdfReader reader = new PdfReader(new URL(getString("PDF_URL")));
    Document document = new Document(reader.getPageSize(1));
    PdfWriter writer;
    try {
        writer = PdfWriter.getInstance(document, new FileOutputStream(dest));
    } catch (DocumentException e) {
        throw new IOException(e.getMessage());
    }
    document.open();
    PdfContentByte cb = writer.getDirectContent();
    // copy first page to new pdf file
    PdfImportedPage page = writer.getImportedPage(reader, 1);
    document.newPage();
    cb.addTemplate(page, 0, 0);
    Font helvetica = new Font(FontFamily.HELVETICA, 12);
    BaseFont bfHelv = helvetica.getCalculatedBaseFont(false);
    cb.beginText();
    cb.setFontAndSize(bfHelv, 11);
    // HEADER
    cb.setTextMatrix(page.getWidth() - 51f, page.getHeight() - 49);
    cb.showText(getString("LAST_NAME").substring(0, 1).toUpperCase());
    cb.setTextMatrix(page.getWidth() / 3.2f, page.getHeight() - 73);
    if (!getString("FORCED_DATE").equalsIgnoreCase(""))
        cb.showText(getString("FORCED_DATE"));
    else
        cb.showText(new SimpleDateFormat(getString("DATE_FORMAT")).format(new Date()));
    cb.setTextMatrix(page.getWidth() / 1.48f, page.getHeight() - 73);
    cb.showText(getString("EVENT_NAME"));
    cb.setTextMatrix(page.getWidth() / 3.2f, page.getHeight() - 96);
    cb.showText(getString("LOCATION"));
    cb.setTextMatrix(page.getWidth() / 1.48f, page.getHeight() - 96);
    cb.showText(deck.getName());
    cb.setTextMatrix(page.getWidth() / 1.48f, page.getHeight() - 119);
    if (getString("DECK_DESIGNER").equals(""))
        cb.showText(getString("LAST_NAME") + " " + getString("FIRST_NAME"));
    else
        cb.showText(getString("DECK_DESIGNER"));
    // MAIN DECK
    int count = 0;
    for (MagicCard mc : deck.getMap().keySet()) {
        cb.setTextMatrix(page.getWidth() / 6.4f, page.getHeight() - 185 - count);
        cb.showText(deck.getMap().get(mc) + space + mc.getName());
        count += 18;
    }
    // CONTINUED and BASIC LAND
    if (getString("FILL_CONTINUED_LANDS").equalsIgnoreCase("true")) {
        count = 0;
        for (MagicCard mc : deck.getMap().keySet()) {
            if (mc.getTypes().contains("Land")) {
                cb.setTextMatrix(page.getWidth() / 1.7f, page.getHeight() - 185 - count);
                cb.showText(deck.getMap().get(mc) + space + mc.getName());
                count += 18;
            }
        }
    }
    // SIDEBOARD
    count = 0;
    for (MagicCard mc : deck.getMapSideBoard().keySet()) {
        cb.setTextMatrix(page.getWidth() / 1.7f, page.getHeight() - 418 - count);
        cb.showText(deck.getMapSideBoard().get(mc) + space + mc.getName());
        count += 18;
    }
    // BOTTOM card count
    cb.setTextMatrix((page.getWidth() / 2f) - 30, 45);
    cb.showText(String.valueOf(deck.getAsList().size()));
    cb.setTextMatrix(page.getWidth() - 70, 100);
    cb.showText(String.valueOf(deck.getSideAsList().size()));
    // LEFT TEXT
    cb.showTextAligned(PdfContentByte.ALIGN_LEFT, getString("LAST_NAME"), 52, 90, 90);
    cb.showTextAligned(PdfContentByte.ALIGN_LEFT, getString("FIRST_NAME"), 52, 295, 90);
    String dci = getString("DCI_NUMBER");
    count = 0;
    for (int i = 0; i < dci.length(); i++) {
        char c = dci.charAt(i);
        cb.showTextAligned(PdfContentByte.ALIGN_LEFT, String.valueOf(c), 52, (428 + count), 90);
        count += 22;
    }
    cb.endText();
    document.close();
}
Also used : PdfWriter(com.itextpdf.text.pdf.PdfWriter) PdfReader(com.itextpdf.text.pdf.PdfReader) IOException(java.io.IOException) Document(com.itextpdf.text.Document) URL(java.net.URL) Font(com.itextpdf.text.Font) BaseFont(com.itextpdf.text.pdf.BaseFont) Date(java.util.Date) PdfImportedPage(com.itextpdf.text.pdf.PdfImportedPage) MagicCard(org.magic.api.beans.MagicCard) FileOutputStream(java.io.FileOutputStream) DocumentException(com.itextpdf.text.DocumentException) BaseFont(com.itextpdf.text.pdf.BaseFont) PdfContentByte(com.itextpdf.text.pdf.PdfContentByte) SimpleDateFormat(java.text.SimpleDateFormat)

Example 2 with PdfImportedPage

use of com.itextpdf.text.pdf.PdfImportedPage in project trainning by fernandotomasio.

the class TCATrainningDocument method createAnexo3.

private void createAnexo3(String file) {
    try {
        document.newPage();
        PdfReader reader = new PdfReader(file);
        int n = reader.getNumberOfPages();
        PdfImportedPage page;
        for (int i = 1; i <= n; i++) {
            page = writer.getImportedPage(reader, i);
            // Image imagePage = Image.getInstance(page);
            // imagePage.scaleToFit(PageSize.A4.getWidth(), PageSize.A4.getHeight());
            PdfContentByte cb = writer.getDirectContent();
            cb.addTemplate(page, 0, 0);
            document.newPage();
        // document.add(imagePage);
        }
    } catch (IOException ex) {
        Logger.getLogger(TCATrainningDocument.class.getName()).log(Level.SEVERE, null, ex);
    }
}
Also used : PdfImportedPage(com.itextpdf.text.pdf.PdfImportedPage) PdfContentByte(com.itextpdf.text.pdf.PdfContentByte) PdfReader(com.itextpdf.text.pdf.PdfReader) IOException(java.io.IOException)

Example 3 with PdfImportedPage

use of com.itextpdf.text.pdf.PdfImportedPage in project trainning by fernandotomasio.

the class TCATrainningDocument method createPrincipal.

private void createPrincipal(String file) {
    try {
        PdfReader reader = new PdfReader(file);
        PdfPTable t1 = new PdfPTable(2);
        int n = reader.getNumberOfPages();
        PdfImportedPage page;
        for (int i = 1; i <= n; i++) {
            page = writer.getImportedPage(reader, i);
            // Image imagePage = Image.getInstance(page);
            // imagePage.scaleToFit(PageSize.A4.getWidth(), PageSize.A4.getHeight());
            PdfContentByte cb = writer.getDirectContent();
            cb.addTemplate(page, 0, 0);
            document.newPage();
        // document.add(imagePage);
        }
    } catch (IOException ex) {
        Logger.getLogger(TCATrainningDocument.class.getName()).log(Level.SEVERE, null, ex);
    }
}
Also used : PdfImportedPage(com.itextpdf.text.pdf.PdfImportedPage) PdfPTable(com.itextpdf.text.pdf.PdfPTable) PdfContentByte(com.itextpdf.text.pdf.PdfContentByte) PdfReader(com.itextpdf.text.pdf.PdfReader) IOException(java.io.IOException)

Example 4 with PdfImportedPage

use of com.itextpdf.text.pdf.PdfImportedPage in project trainning by fernandotomasio.

the class TCATrainningDocumentODF method createAnexo3.

private void createAnexo3(String file) {
    try {
        document.newPage();
        PdfReader reader = new PdfReader(file);
        int n = reader.getNumberOfPages();
        PdfImportedPage page;
        for (int i = 1; i <= n; i++) {
            page = writer.getImportedPage(reader, i);
            // Image imagePage = Image.getInstance(page);
            // imagePage.scaleToFit(PageSize.A4.getWidth(), PageSize.A4.getHeight());
            PdfContentByte cb = writer.getDirectContent();
            cb.addTemplate(page, 0, 0);
            document.newPage();
        // document.add(imagePage);
        }
    } catch (IOException ex) {
        Logger.getLogger(TCATrainningDocumentODF.class.getName()).log(Level.SEVERE, null, ex);
    }
}
Also used : PdfImportedPage(com.itextpdf.text.pdf.PdfImportedPage) PdfContentByte(com.itextpdf.text.pdf.PdfContentByte) PdfReader(com.itextpdf.text.pdf.PdfReader) IOException(java.io.IOException)

Example 5 with PdfImportedPage

use of com.itextpdf.text.pdf.PdfImportedPage in project trainning by fernandotomasio.

the class TCATrainningDocumentODF method createPrincipal.

private void createPrincipal(String file) {
    try {
        PdfReader reader = new PdfReader(file);
        PdfPTable t1 = new PdfPTable(2);
        int n = reader.getNumberOfPages();
        PdfImportedPage page;
        for (int i = 1; i <= n; i++) {
            page = writer.getImportedPage(reader, i);
            // Image imagePage = Image.getInstance(page);
            // imagePage.scaleToFit(PageSize.A4.getWidth(), PageSize.A4.getHeight());
            PdfContentByte cb = writer.getDirectContent();
            cb.addTemplate(page, 0, 0);
            document.newPage();
        // document.add(imagePage);
        }
    } catch (IOException ex) {
        Logger.getLogger(TCATrainningDocumentODF.class.getName()).log(Level.SEVERE, null, ex);
    }
}
Also used : PdfImportedPage(com.itextpdf.text.pdf.PdfImportedPage) PdfPTable(com.itextpdf.text.pdf.PdfPTable) PdfContentByte(com.itextpdf.text.pdf.PdfContentByte) PdfReader(com.itextpdf.text.pdf.PdfReader) IOException(java.io.IOException)

Aggregations

PdfContentByte (com.itextpdf.text.pdf.PdfContentByte)5 PdfImportedPage (com.itextpdf.text.pdf.PdfImportedPage)5 PdfReader (com.itextpdf.text.pdf.PdfReader)5 IOException (java.io.IOException)5 PdfPTable (com.itextpdf.text.pdf.PdfPTable)2 Document (com.itextpdf.text.Document)1 DocumentException (com.itextpdf.text.DocumentException)1 Font (com.itextpdf.text.Font)1 BaseFont (com.itextpdf.text.pdf.BaseFont)1 PdfWriter (com.itextpdf.text.pdf.PdfWriter)1 FileOutputStream (java.io.FileOutputStream)1 URL (java.net.URL)1 SimpleDateFormat (java.text.SimpleDateFormat)1 Date (java.util.Date)1 MagicCard (org.magic.api.beans.MagicCard)1