I am trying to check "Choose paper source by pdf page size" in print options via iText7, for my project requirement which is generating pdf. But library the I am using, I am not able to find the desired thing.
public static void createPdf_PageType(String baseUri, String[] src, String dest, PageSize pageSize, boolean rotate) throws IOException {
ConverterProperties properties = new ConverterProperties();
properties.setBaseUri(baseUri);
PdfWriter writer = new PdfWriter(dest);
PdfDocument pdf = new PdfDocument(writer);
PdfViewerPreferences preferences = new PdfViewerPreferences();
preferences.setPrintScaling(PdfViewerPreferencesConstants.NONE);
pdf.getCatalog().setViewerPreferences(preferences);
PdfMerger merger = new PdfMerger(pdf);
log.info("Generating PDF");
for (String html : src) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PdfDocument temp = new PdfDocument(new PdfWriter(baos));
if(rotate) {
temp.setDefaultPageSize(pageSize.rotate()); /** Page Size and Orientation */
} else {
temp.setDefaultPageSize(pageSize); /** Page Size and Orientation */
}
HtmlConverter.convertToPdf(html, temp, properties);
temp = new PdfDocument(new PdfReader(new ByteArrayInputStream(baos.toByteArray())));
merger.merge(temp, 1, temp.getNumberOfPages());
temp.close();
}
// pdf.getCatalog().setViewerPreferences(new PdfViewerPreferences().setPrintScaling(PdfViewerPreferences.PdfViewerPreferencesConstants.NONE));
pdf.close();
log.info("PDF Generated");
}
I just want to tick checkbox of in print option