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();
}
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);
}
}
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);
}
}
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);
}
}
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);
}
}
Aggregations