use of com.itextpdf.layout.Document in project commons by mosip.
the class PDFGeneratorImpl method asPDF.
/*
* (non-Javadoc)
*
* @see io.mosip.kernel.core.pdfgenerator.spi.PDFGenerator#asPDF(java.util.List)
*/
@Override
public byte[] asPDF(List<BufferedImage> bufferedImages) throws IOException {
byte[] scannedPdfFile = null;
try (ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream()) {
PdfWriter pdfWriter = new PdfWriter(byteArrayOutputStream);
Document document = new Document(new PdfDocument(pdfWriter));
for (BufferedImage bufferedImage : bufferedImages) {
Image image = new Image(ImageDataFactory.create(getImageBytesFromBufferedImage(bufferedImage)));
image.scaleToFit(600, 750);
document.add(image);
}
document.close();
pdfWriter.close();
scannedPdfFile = byteArrayOutputStream.toByteArray();
} catch (IOException e) {
throw new PDFGeneratorException(PDFGeneratorExceptionCodeConstant.PDF_EXCEPTION.getErrorCode(), e.getMessage());
}
return scannedPdfFile;
}
use of com.itextpdf.layout.Document in project Rolls-Royce by EntryDSM.
the class ApplicationPdfGenerator method generateApplicationPdf.
private byte[] generateApplicationPdf(User user, Score score) {
PdfData data = pdfDataConverter.applicationToInfo(user, score);
ByteArrayOutputStream[] outputStreams = getTemplateFileNames(user).parallelStream().map(template -> templateProcessor.convertTemplateIntoHtmlString(template, data.toMap())).map(pdfProcessor::convertHtmlToPdf).toArray(ByteArrayOutputStream[]::new);
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
PdfDocument mergedDocument = new PdfDocument(new PdfWriter(outputStream));
PdfMerger pdfMerger = new PdfMerger(mergedDocument);
Document document = new Document(mergedDocument);
for (ByteArrayOutputStream pdfStream : outputStreams) {
PdfDocument pdfDoc = getPdfDocument(pdfStream);
mergeDocument(pdfMerger, pdfDoc);
}
for (int i = 1; i <= mergedDocument.getNumberOfPages(); i++) {
document.showTextAligned(new Paragraph(String.format("- %s -", i)), 300, 25, i, TextAlignment.CENTER, VerticalAlignment.BOTTOM, 0);
}
document.close();
return outputStream.toByteArray();
}
use of com.itextpdf.layout.Document in project i7js-highlevel by itext.
the class C02E07_JekyllHydeV3 method createPdf.
public void createPdf(String dest) throws IOException {
// Initialize PDF document
PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
// Initialize document
Document document = new Document(pdf);
PdfFont font = PdfFontFactory.createFont(StandardFonts.TIMES_ROMAN);
PdfFont bold = PdfFontFactory.createFont(StandardFonts.HELVETICA_BOLD);
document.setTextAlignment(TextAlignment.JUSTIFIED).setHyphenation(new HyphenationConfig("en", null, 3, 3)).setFont(font).setFontSize(11);
BufferedReader br = new BufferedReader(new FileReader(SRC));
String line;
Paragraph p;
boolean title = true;
while ((line = br.readLine()) != null) {
p = new Paragraph(line);
p.setKeepTogether(true);
if (title) {
p.setFont(bold).setFontSize(12);
title = false;
} else {
p.setFirstLineIndent(36);
}
if (line.isEmpty()) {
p.setMarginBottom(12);
title = true;
} else {
p.setMarginBottom(0);
}
document.add(p);
}
br.close();
// Close document
document.close();
}
use of com.itextpdf.layout.Document in project i7js-highlevel by itext.
the class C02E09_JekyllHydeV5 method createPdf.
public void createPdf(String dest) throws IOException {
// Initialize PDF document
PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
// Initialize document
Document document = new Document(pdf);
// Set column parameters
float offSet = 36;
float gutter = 23;
float columnWidth = (PageSize.A4.getWidth() - offSet * 2) / 2 - gutter;
float columnHeight = PageSize.A4.getHeight() - offSet * 2;
// Define column areas
Rectangle[] columns = { new Rectangle(offSet, offSet, columnWidth, columnHeight), new Rectangle(offSet + columnWidth + gutter, offSet, columnWidth, columnHeight) };
document.setRenderer(new ColumnDocumentRenderer(document, columns));
PdfFont font = PdfFontFactory.createFont(StandardFonts.TIMES_ROMAN);
PdfFont bold = PdfFontFactory.createFont(StandardFonts.HELVETICA_BOLD);
document.setTextAlignment(TextAlignment.JUSTIFIED).setFont(font).setHyphenation(new HyphenationConfig("en", null, 3, 3));
BufferedReader br = new BufferedReader(new FileReader(SRC));
String line;
Paragraph p;
boolean title = true;
AreaBreak nextPage = new AreaBreak(AreaBreakType.NEXT_PAGE);
while ((line = br.readLine()) != null) {
p = new Paragraph(line);
if (title) {
p.setFont(bold).setFontSize(12);
title = false;
} else {
p.setFirstLineIndent(36);
}
if (line.isEmpty()) {
document.add(nextPage);
title = true;
}
document.add(p);
}
br.close();
// Close document
document.close();
}
use of com.itextpdf.layout.Document in project i7js-highlevel by itext.
the class C02E10_JekyllHydeV6 method createPdf.
public void createPdf(String dest) throws IOException {
// Initialize PDF document
PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
// Initialize document
Document document = new Document(pdf);
Paragraph p = new Paragraph().add("Be prepared to read a story about a London lawyer " + "named Gabriel John Utterson who investigates strange " + "occurrences between his old friend, Dr. Henry Jekyll, " + "and the evil Edward Hyde.");
document.add(p);
document.add(new AreaBreak(AreaBreakType.NEXT_PAGE));
// Set column parameters
float offSet = 36;
float gutter = 23;
float columnWidth = (PageSize.A4.getWidth() - offSet * 2) / 2 - gutter;
float columnHeight = PageSize.A4.getHeight() - offSet * 2;
// Define column areas
Rectangle[] columns = { new Rectangle(offSet, offSet, columnWidth, columnHeight), new Rectangle(offSet + columnWidth + gutter, offSet, columnWidth, columnHeight) };
document.setRenderer(new ColumnDocumentRenderer(document, columns));
document.add(new AreaBreak(AreaBreakType.LAST_PAGE));
PdfFont font = PdfFontFactory.createFont(StandardFonts.TIMES_ROMAN);
PdfFont bold = PdfFontFactory.createFont(StandardFonts.HELVETICA_BOLD);
document.setTextAlignment(TextAlignment.JUSTIFIED).setFont(font).setHyphenation(new HyphenationConfig("en", null, 3, 3));
BufferedReader br = new BufferedReader(new FileReader(SRC));
String line;
boolean title = true;
AreaBreak nextPage = new AreaBreak(AreaBreakType.NEXT_AREA);
while ((line = br.readLine()) != null) {
p = new Paragraph(line);
if (title) {
p.setFont(bold).setFontSize(12);
title = false;
} else {
p.setFirstLineIndent(36);
}
if (line.isEmpty()) {
document.add(nextPage);
title = true;
}
document.add(p);
}
br.close();
document.add(new AreaBreak(AreaBreakType.NEXT_PAGE));
document.setRenderer(new DocumentRenderer(document));
document.add(new AreaBreak(AreaBreakType.LAST_PAGE));
p = new Paragraph().add("This was the story about the London lawyer " + "named Gabriel John Utterson who investigates strange " + "occurrences between his old friend, Dr. Henry Jekyll, " + "and the evil Edward Hyde. THE END!");
document.add(p);
// Close document
document.close();
}
Aggregations