PDF & Screenshot
Catalyst SmartBrowz offers you the PDF & Screenshot component to generate your prefered visual docuemnts through code. You can incorporate this functionality in your application by copying the code below and pasting it in your application logic.
Using the SDK below, you can generate visual documents by using HTML, URL or Templates as your input.
Ensure the following packages are imported:
import com.zc.component.smartbrowz.ZCSmartBrowz;
import com.zc.component.smartbrowz.ZCSmartBrowzConvertDetails;
Generate Visual Document From a Predefined Template
// Initialize SmartBrowz
ZCSmartBrowz smartBrowz = ZCSmartBrowz.getInstance();
// Generate output from a predefined template
ObjectMapper mapper = new ObjectMapper();
JsonNode templateData = mapper.createObjectNode();
((ObjectNode)templateData).put(“name”, “Siva”);
((ObjectNode)templateData).put(“age”, “25”);
((ObjectNode)templateData).put(“address”, “Chennai”);
((ObjectNode)templateData).put(“country”, “India”);
((ObjectNode)templateData).put(“email”, “siva@example.com”);
ZCSmartBrowzPDFOptions pdfOptions = ZCSmartBrowzPDFOptions.getInstance();
pdfOptions.setDisplayHeaderFooter(true);
pdfOptions.setFormat(“A4”);
pdfOptions.setPageRanges(“1-2”);
pdfOptions.setPrintBackground(true);;
pdfOptions.setPassword(“Siva123”); // set password after enabling template password setting in UI
pdfOptions.setLandscape(true);
pdfOptions.setScale(new BigDecimal(“1.0”));
pdfOptions.setWidth(“100”);
pdfOptions.setHeight(“100”);
ZCSmartBrowzNavigationOptions navigationOptions = new ZCSmartBrowzNavigationOptions();
navigationOptions.setWaitUntil(“domcontentloaded”);
navigationOptions.setTimeout(30000);
ZCSmartBrowzPageOptions pageOptions = new ZCSmartBrowzPageOptions();
ContentDetails contentDetails = new ContentDetails();
contentDetails.setContent("<html><body>Hello World</body></html>");
pageOptions.setCss(contentDetails);
pageOptions.setDevice(“Blackberry PlayBook”);
pageOptions.setJavaScriptEnabled(true);
ViewportDetails viewportDetails = new ViewportDetails();
viewportDetails.setHeight(800);
viewportDetails.setWidth(600);
pageOptions.setViewport(viewportDetails);
ZCSmartBrowzTemplateOptions templateOptions = ZCSmartBrowzTemplateOptions.getInstance();
templateOptions.setPdfDetails(pdfOptions);
templateOptions.setNavigationDetails(navigationOptions);
templateOptions.setOutputType(ZC_CONVERT_OUTPUT_TYPE.PDF);
templateOptions.setPageDetails(pageOptions);
templateOptions.setTemplateInput(templateData);
templateOptions.setTemplateId(2075000000021001L);
InputStream outputStream = smartBrowz.generateFromTemplate(templateOptions);
Convert to PDF from HTML
// Initialize SmartBrowz
ZCSmartBrowz smartBrowz = ZCSmartBrowz.getInstance();
// Convert to PDF from HTML
ZCSmartBrowzConvertDetails convertDetailsForPDF = ZCSmartBrowzConvertDetails.getInstance();
ZCSmartBrowzPDFOptions pdfOptions = ZCSmartBrowzPDFOptions.getInstance();
pdfOptions.setDisplayHeaderFooter(true);
pdfOptions.setFormat(“A4”);
MarginDetails marginDetails = new MarginDetails();
marginDetails.setTop(“10”);
marginDetails.setRight(“10”);
marginDetails.setLeft(“10”);
marginDetails.setBottom(“10”);
pdfOptions.setMargin(marginDetails);
pdfOptions.setPageRanges(“1-2”);
pdfOptions.setPrintBackground(true);;
pdfOptions.setPassword(“Siva123”);
pdfOptions.setLandscape(true);
pdfOptions.setScale(new BigDecimal(“1.0”));
pdfOptions.setWidth(“100”);
pdfOptions.setHeight(“100”);
ZCSmartBrowzNavigationOptions navigationOptions = new ZCSmartBrowzNavigationOptions();
navigationOptions.setWaitUntil(“domcontentloaded”);
navigationOptions.setTimeout(30000);
ZCSmartBrowzPageOptions pageOptions = new ZCSmartBrowzPageOptions();
ContentDetails contentDetails = new ContentDetails();
contentDetails.setContent("<html><body>Hello World</body></html>");
pageOptions.setCss(contentDetails);
pageOptions.setDevice(“Blackberry PlayBook”);
pageOptions.setJavaScriptEnabled(true);
ViewportDetails viewportDetails = new ViewportDetails();
viewportDetails.setHeight(800);
viewportDetails.setWidth(600);
pageOptions.setViewport(viewportDetails);
convertDetailsForPDF.setPdfDetails(pdfOptions);
convertDetailsForPDF.setNavigationDetails(navigationOptions);
convertDetailsForPDF.setPageDetails(pageOptions);
convertDetailsForPDF.setHtml("<html>Hello</html>");
InputStream outPutStream = smartBrowz.convertToPdf(convertDetailsForPDF);
Take a screenshot from URL
// initialize SmartBrowz
ZCSmartBrowz smartBrowz = ZCSmartBrowz.getInstance();
// convert to PDF from URL
ZCSmartBrowzConvertDetails convertDetailsForPDF = ZCSmartBrowzConvertDetails.getInstance();
ZCSmartBrowzPDFOptions pdfOptions = ZCSmartBrowzPDFOptions.getInstance();
pdfOptions.setDisplayHeaderFooter(true);
pdfOptions.setFormat(“A4”);
MarginDetails marginDetails = new MarginDetails();
marginDetails.setTop(“10”);
marginDetails.setRight(“10”);
marginDetails.setLeft(“10”);
marginDetails.setBottom(“10”);
pdfOptions.setMargin(marginDetails);
pdfOptions.setPageRanges(“1-2”);
pdfOptions.setPrintBackground(true);;
pdfOptions.setPassword(“Siva123”);
pdfOptions.setLandscape(true);
pdfOptions.setScale(new BigDecimal(“1.0”));
pdfOptions.setWidth(“100”);
pdfOptions.setHeight(“100”);
ZCSmartBrowzNavigationOptions navigationOptions = new ZCSmartBrowzNavigationOptions();
navigationOptions.setWaitUntil(“domcontentloaded”);
navigationOptions.setTimeout(30000);
ZCSmartBrowzPageOptions pageOptions = new ZCSmartBrowzPageOptions();
ContentDetails contentDetails = new ContentDetails();
contentDetails.setContent("<html><body>Hello World</body></html>");
pageOptions.setCss(contentDetails);
pageOptions.setDevice(“Blackberry PlayBook”);
pageOptions.setJavaScriptEnabled(true);
ViewportDetails viewportDetails = new ViewportDetails();
viewportDetails.setHeight(800);
viewportDetails.setWidth(600);
pageOptions.setViewport(viewportDetails);
convertDetailsForPDF.setPdfDetails(pdfOptions);
convertDetailsForPDF.setNavigationDetails(navigationOptions);
convertDetailsForPDF.setPageDetails(pageOptions);
convertDetailsForPDF.setUrl(“http://www.example.com”);
InputStream outPutStream = smartBrowz.convertToPdf(convertDetailsForPDF);
In the PDF & Screenshot section of the console, you can directly test this component using the Playground feature, and you can also copy the SDK directly from the console.
Last Updated 2025-07-07 22:11:41 +0530 IST
Yes
No
Send your feedback to us