Foxit Developer Blog

    Insights, tutorials, and updates from the Foxit PDF SDK engineering team.

    Foxit PDF SDK for Linux
    Foxit PDF SDK for Mac
    Foxit PDF SDK for Windows

    How to Combine PDFs with PDF SDK

    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"")); [...]

    Read Article
    Foxit PDF SDK for Web

    How to use PDF Linearization with Foxit PDF SDK for Web

    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.

    Read Article
    Foxit PDF SDK for Web

    Quick tips to speed up PDF SDK for Web’s performance

    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.

    Read Article
    Foxit PDF SDK for Web

    How to use the preload worker thread with Foxit PDF SDK for Web

    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.

    Read Article
    Foxit PDF SDK for Web

    How to Set Custom Fonts with PDF SDK for Web

    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" } })

    Read Article
    Foxit PDF SDK for Web

    Additional Language support with Foxit PDF SDK for Web

    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.

    Read Article
    Foxit PDF SDK for Web

    How to Customize Language Resources with Foxit PDF SDK for Web

    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/.

    Read Article
    Foxit PDF SDK for Web

    How to Save PDFs back to a Web Server with PDF SDK for Web

    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 }); } }] }] })

    Read Article
    Foxit PDF SDK for Web

    How to Change the Loading Icon & Text with PDF SDK for Web

    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:

    Read Article
    Foxit PDF SDK for Web

    How to Add Annotations with Foxit PDF SDK for Web

    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)

    Read Article