Foxit PDF SDK(Linux版)
Foxit PDF SDK(Linux版)是为Linux企业或云应用程序设计的PDF解决方案,提供强大的渲染、数字签名、表单填写、文本处理等功能。Foxit PDF SDK(Linux版)提供了实用的PDF演示代码,帮助开发人员通过我们的核心API实现强大的功能。Foxit PDF SDK(Linux版)功能丰富,对于任何想要在嵌入式Linux操作系统和云应用程序中创建一个完全可定制的PDF阅读器或后台应用的Linux开发人员来说都是非常理想的解决方案。
功能
查看PDF
我们的核心API针对桌面和移动平台进行了优化,可以提供高保真度PDF文档渲染体验。
数字签名
无需打印文件,用户可以在其电子设备上签署文件,加速业务处理,并给用户带来舒适的体验。
PDF表单
支持使用电子设备填写数字表单,使之更高效、快捷。



权限管理
Foxit PDF SDK可以通过加密/解密服务或集成自定义数字权限管理(DRM)或信息权限管理(IRM)系统生成受保护的PDF文件。福昕的PDF SDK集成了微软权限管理服务(RMS)。
PDF注释
Foxit PDF SDK提供丰富的注释和标记功能,支持创建、编辑、导入和导出注释等。
全文搜索
采用SQLite数据库,支持对多种语言类型的PDF文档进行全文检索,提供快速、便捷的搜索体验。
FOXIT PDF SDK 8.5简介
Foxit PDF SDK 8.0是PDF领域中一个具有变革性的版本,无论是Web端基于JavaScript的Web Viewer还是桌面端SDK 和移动端SDK,都带来了许多新增功能和升级改进。我们还为PDF SDK(Web版)提供了全新的Viewer Demo。
在 Web端,我们新增了一个全新的Viewer Demo,向您展示如何充分利用我们基于JavaScript的 PDF 库。
我们还增强了协作功能,让您可以在 PDF查看器的多个实例之间同步注释和页面操作。您可以在自己的应用程序中轻松部署我们的SDK和管理所有用户的实时访问。另外,Web端SDK还提供了全新的辅助功能,如高对比度的支持和“文本到语音”转换工具。
我们的桌面端SDK提供了对 ARM Linux平台的支持、对HTMLtoPDF功能的重大升级、将表单数据导出到 CSV 功能等等。
在移动端,我们推出了新的UI,风格与桌面端UI以及福昕的其他产品的更加统一,签名功能中新增了一个用于检测是否已应用签名的事件,以及UI 上提供了注释小结功能。立即下载试用吧!

FOXIT PDF SDK 6.4
PDF SDK 6.4为用户带来了全新的功能,包括备受欢迎的OCR附加组件、PDF比较工具、PDF合规性附加组件等等。除了新增这些功能外,我们还增强改进了注释功能(单个注释的旋转、扁平化)和XFA表单的签名功能,针对Cordova插件提供新的API,并更新了示例代码和开发人员指南,同时修复了若干问题。

高级技术
XFA表单
XFA表单是基于XML的表单。能够安全获取、呈现、移动、处理、输出、更新和打印与静态和动态XFA表单相关的信息。使用XFA表单能简化您的数据共享、数据和获取。
权限管理
将应用程序和文件连接到微软的权限管理服务平台,保护PDF文档的安全。Foxit PDF SDK支持集成自定义IRM和DRM解决方案。
密文处理
出于合法或安全的考虑,通过编程实现搜索和审查文档的敏感信息,确保您的客户和员工的信息安全。通过福昕强大的技术加密文档,使得文档符合通用数据保护条例(GDPR)。
优点
完整的Linux支持
得益于其强大、灵活和高效的功能,福昕可以专门为已针对硬件产品进行优化的嵌入式Linux操作系统和可扩展云应用提供强大的解决方案。
占用内存小
PDF SDK(Linux版)即使处理复杂任务也只占用很小的运行内存。此外,我们的内存溢出管理功能确保您的应用程序能够从内存异常中恢复。
功能丰富
我们的产品功能在移动端、服务器端、桌面端保持一致,使得跨平台开发更加简单顺畅。我们会不断更新功能集,欢迎关注我们的产品页面。
福昕核心技术支持
Foxit PDF SDK的核心技术已经存在多年,并且受到许多知名公司的信任。福昕强大的引擎使文档在不同平台上都可以快速查看并且保持一致。
系统要求
- Linux 32位和Linux 64位
- 测试环境:Centos 6.4 32位和Centos 6.5 64位
- PDF SDK(Linux版)包括32位和64位的版本库
在Linux中加载PDF文件或添加图像
public static void main(String[] args) throws PDFException, IOException { createResultFolder(output_path); int error_code = Library.initialize(sn, key); if (error_code != e_ErrSuccess) { System.out.println(String.format("Library Initialize Error: %d\n", error_code)); return; } String input_file = input_path + "AboutFoxit.pdf"; String output_file1 = output_path + "bookmark_add.pdf"; String output_file2 = output_path + "bookmark_change.pdf"; String bookmark_info_file = output_path + "bookmark_info.txt"; try { PDFDoc doc = new PDFDoc(input_file); error_code = doc.load(null); if (error_code != e_ErrSuccess) { System.out.println(String.format("The Doc [%s] Error: %d\n", input_file, error_code)); return; } // Show original bookmark information. showBookmarksInfo(doc, bookmark_info_file); //Get bookmark root node or Create new bookmark root node. Bookmark root = doc.getRootBookmark(); if (root.isEmpty()) { root = doc.createRootBookmark(); } for (int i = 0; i < doc.getPageCount(); i += 2) { Destination dest = Destination.createFitPage(doc, i); String ws_title = String.format("A bookmark to a page (index: %d)", i); Bookmark child = root.insert(ws_title, e_PosLastChild); child.setDestination(dest); child.setColor(i * 0xF68C21); } doc.saveAs(output_file1, e_SaveFlagNoOriginal); // Get first bookmark and change properties. Bookmark first_bookmark = root.getFirstChild(); first_bookmark.setStyle(e_StyleItalic); first_bookmark.setColor(0xFF0000); first_bookmark.setTitle("Change bookmark title, style, and color"); // Remove next sibling bookmark if (!first_bookmark.getNextSibling().isEmpty()) { doc.removeBookmark(first_bookmark.getNextSibling()); } bookmark_info_file = output_path + "bookmark_info1.txt"; showBookmarksInfo(doc, bookmark_info_file); doc.saveAs(output_file2, e_SaveFlagNoOriginal); System.out.println("Bookmark demo."); } catch (Exception e) { e.printStackTrace(); } Library.release(); return; }
public class pdf2image { private static String key = ""; private static String sn = ""; private static String output_path = "../output_files/pdf2image/"; private static String input_path = "../input_files/"; private static String input_file = input_path + "AboutFoxit.pdf"; private static String[] support_image_extends = {".bmp", ".jpg", ".jpeg", ".png", ".jpx", ".jp2"}; private static String[] support_multi_image = {".tif", ".tiff"}; public static void main(String[] args) throws PDFException { createResultFolder(output_path); int error_code = Library.initialize(sn, key); if (error_code != e_ErrSuccess) { System.out.println("Library Initialize Error: " + error_code); return; } PDFDoc doc = new PDFDoc(input_file); error_code = doc.load(null); if (error_code != e_ErrSuccess) { System.out.println("The Doc " + input_file + " Error: " + error_code); return; } Image image = new Image(); int nPageCount = doc.getPageCount(); for (int i = 0; i < nPageCount; i++) { PDFPage page = doc.getPage(i); // Parse page. page.startParse(e_ParsePageNormal, null, false); int width = (int) page.getWidth(); int height = (int) page.getHeight(); Matrix2D matrix = page.getDisplayMatrix(0, 0, width, height, page.getRotation()); // Prepare a bitmap for rendering. Bitmap bitmap = new Bitmap(width, height, e_DIBArgb, null, 0); bitmap.fillRect(0xFFFFFFFF, null); // Render page Renderer render = new Renderer(bitmap, false); render.startRender(page, matrix, null); image.addFrame(bitmap); for (int j = 0; j < support_image_extends.length; j++) { String extend = support_image_extends[j]; Save2Image(bitmap, i, extend); } } for (int j = 0; j < support_multi_image.length; j++) { String extend = support_multi_image[j]; Save2Image(image, extend); } Library.release(); } private static void createResultFolder(String output_path) { File myPath = new File(output_path); if (!myPath.exists()) { myPath.mkdir(); } } private static void Save2Image(Bitmap bitmap, int nPageIndex, String sExt) throws PDFException { Image image = new Image(); image.addFrame(bitmap); String s = "AboutFoxit_" + nPageIndex; s = output_path + s + sExt; image.saveAs(s); System.out.println("Save page " + nPageIndex + " into a picture of " + sExt + " format."); } private static void Save2Image(Image image, String sExt) throws PDFException { String s = "AboutFoxit"; s = output_path + s + sExt; image.saveAs(s); System.out.println("Save pdf file into a picture of " + sExt + " format."); } }