Insights, tutorials, and updates from the Foxit PDF SDK engineering team.
Foxit PDF SDK has the ability to combine or merge multiple PDFs into one. Please use the following sample codes for the different languages below to get started. Simple code for C++ #include "include/pdf/fs_combination.h" ...// SDK has already been initialized successfully. CombineDocumentInfoArray info_array; info_array.Add(CombineDocumentInfo(input_path + L"AboutFoxit.pdf", L"")); info_array.Add(CombineDocumentInfo(input_path + L"Annot_all.pdf", L"")); info_array.Add(CombineDocumentInfo(input_path + L"SamplePDF.pdf", L"")); [...]
PDF linearization is a quick web viewing format which displays pages instantly without having to wait for an entire file to be completely downloaded. To make use of this feature, PDF SDK for Web’s viewer checks at the initialization stage to programmatically detect if it is a linearization document. If it is, the Web viewer uses the fast web view mode (AsyncReaderCallback) to request the data. Otherwise, it follows the normal process mode.
If you experience slow page loading with PDF SDK for Web, use Chrome Dev Tools to inspect your Network activity to check if the slowness is related to repeat file loading. If so, you should consider using a cache policy on static assets to optimize repeat page load speed. PDF SDK for Web allows a temporary and permanent cache on files. The cache code sample is available at ..\examples\PDFViewCtrl\service-worker in the Web SDK package.
preloadJRWorker is Foxits Web SDK worker thread to perform tasks in the background and with v7, major improvements have been made. Read more about it here.
Foxit PDF SDK for Web has a huge range of custom fonts available with the Foxit package. Click here for more information on custom fonts with Foxit. Foxit PDF SDK for Web has a huge range of custom fonts available with the package. You can customize as much as you wish by using the 2 sample codes below. Setting up the font Path var pdfui = new PDFUI({ viewerOptions: { libPath: '../../../lib', preloadJR: true, jr: { licenseSN:"", LicenseKey:"", fontPath:"../external/brotli" } })
Foxit PDF SDK for Web has adopted the i18Next international framework to implement additional language support. Find out more here. Internalization Resources Foxit PDF SDK for Web has adopted the i18Next international framework to implement additional language support. The localization resources are stored at ~lib\locales. Each folder contains two resource files – the ui_.json and viewer_.json. The first one is for the advanced web viewer demo, and the other is for the basic web viewer demo.
Click here to find out more on how Foxit PDF SDK for Web can help customize language resources for your application.Assumption Assume you have an assets/in your website root directory, where you will configure the language resources. Let’s call this path as websiteRoot/assets/.
Foxit PDF SDK for Web allows you save PDF files to a web server easily with a short code. Find out more about it here. Foxit PDF SDK for Web allows you save PDF files to a web server easily with a short code. Please add the code below to do so:var FRAGMENT_ACTION = UIExtension.UIConsts.FRAGMENT_ACTIONar FRAGMENT_ACTION = UIExtension.UIConsts.FRAGMENT_ACTION var pdfui = new PDFUI({ fragments: [{ target: 'download-file-button', action: FRAGMENT_ACTION.AFTER, template: '<xbutton icon-class="customers-save-button-icon-css-class" name="upload-to-server-button"></xbutton>', config: [{ target: 'upload-to-server-button', callback: function() { this.getPDFUI() .getPDFViewer() .then(pdfViewer => { pdfViewer.setActiveElement(null); const buffers = []; return pdfViewer.currentPDFDoc .getStream(({ arrayBuffer }) => { buffers.push(arrayBuffer); }) .then(_ => { return [buffers, pdfViewer.currentPDFDoc.getFileName()]; }); }) .then(([buffers, fileName]) => { if (!fileName || fileName.length === 0) { fileName = "unknown.pdf"; } const blob = new Blob(buffers, {type: 'application/pdf'}) console.info('start uploading', blob); // ajax upload here }); } }] }] })
Foxit PDF SDK for Web comes with lots of customization options and you can now edit the loading icon and text. Click here to find out more. Foxit PDF SDK for Web comes with lots of customization options and you can now edit the loading icon and text. This icon/text refers to the time between UI initialization and document display. Follow the guidelines below to update this icon and text, or you can have neither a loading icon/text if you wish. Code Snippet:
Click here to find out more on how to add annotations through Foxit PDF SDK for Web. Add an annotation on a given page Programmatically add an annotation var pdfviewer = await pdfui.getPDFViewer();var pdfdoc = await pdfviewer.getCurrentPDFDoc();var page = await pdfdoc.getPageByIndex(0);var json = {type:’square’,rect:{left:98,right:200,top:500,bottom:450},contents:’this is a rectangle’,color: 0x008080,borderInfo:{width:15}};await page.addAnnot(json)