Foxit PDF SDK(Windows版)

Foxit PDF SDK(Windows版)提供了功能强大、简单易用核心层API,提供了C++、C#和Java 语言的接口,支持PDF渲染、查看、编辑、注释、签名、保护和表单操作。此外,Foxit PDF SDK(Windows版) 还提供演示Demo和示例代码,以帮助用户开发PDF阅读程序以及PDF相关的解决方案。

使用Foxit PDF SDK(Windows版)开发PDF软件

Foxit PDF SDK(Windows版) 提供三种库:C++库、C#(.NET)库、和Java库,在客户端和服务端环境下均可运行(32位和64位系统)。

Foxit Windows Support

功能

查看PDF

我们的核心API针对桌面和移动平台进行了优化,可以提供高保真度PDF文档渲染体验。

数字签名

无需打印文件,用户可以在其电子设备上签署文件,加速业务处理,并给用户带来舒适的体验。

PDF表单

支持使用电子设备填写数字表单,使之更高效、快捷。

权限管理

Foxit PDF SDK可以通过加密/解密服务或集成自定义数字权限管理(DRM)或信息权限管理(IRM)系统生成受保护的PDF文件。福昕的PDF SDK集成了微软权限管理服务(RMS)。

PDF注释

Foxit PDF SDK提供丰富的注释和标记功能,支持创建、编辑、导入和导出注释等。

全文搜索

采用SQLite数据库,支持对多种语言类型的PDF文档进行全文检索,提供快速、便捷的搜索体验。
 

FOXIT PDF SDK 6.4  

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

FOXIT PDF SDK 6.3 

PDF SDK6.3增加了不少新功能,包括:从URL打开PDF时存储缓存的支持,新增了阅读视图模式,以及JavaScript中增加了SignatureInfo和Doc / WillClose功能,等等!

同时全面更新了文档资料,为您提供新版的开发人员指南以及大量新的代码示例,帮助开发人员快速上手。

高级技术

XFA表单

XFA表单是基于XML的表单。能够安全获取、呈现、移动、处理、输出、更新和打印与静态和动态XFA表单相关的信息。使用XFA表单能简化您的数据共享、数据和获取。

权限管理

将应用程序和文件连接到微软的权限管理服务平台,保护PDF文档的安全。Foxit PDF SDK支持集成自定义IRM和DRM解决方案。
 
 

OCR文字识别

利用福昕高度精确的文字识别(OCR)引擎将扫描的文档转换成可搜索的PDF文件。这一强大的功能是为扫描文件、存档和文件数字化而设计的,支持输出PDF和PDF/A等13种格式文件。

密文处理

出于合法或安全的考虑,通过编程实现搜索和审查文档的敏感信息,确保您的客户和员工的信息安全。通过福昕强大的技术加密文档,使得文档符合通用数据保护条例(GDPR)。

互联PDF

利用福昕的先进技术,通过编程,为PDF文件提供智能管理、安全保护和协同合作服务。只需一个SDK,就能实时保护文档、访问分析数据和协同处理文档。 

PDF/A标准

通过我们的转换和验证技术可将常规PDF转换为符合PDF-A标准的文档。如果您的工作流程要求PDF文档符合PDF-A标准,您可以立即开始验证您的文档是否符合PDF-A标准。
 

同时适用于Windows服务器和桌面

Foxit PDF SDK是市场上功能丰富的PDF SDK。

桌面

允许终端用户迅速、方便地在应用程序中查看、导览、编辑、注释、签名、填写表单、保护、加密、管理、标记和打印PDF文档。

服务器

通过我们的C++、C#(.NET)或Java库编程,创建、合并、拆分(或执行桌面应用程序支持的任一操作)数百万份PDF文档。

特定功能产品

Foxit PDF SDK(Windows版) 功能强大、可跨平台。如果您只是想使用.NET或ActiveX执行简单的任务,您可能需要了解:

PDF .NET SDK

使用.NET执行基本操作

  • .NET Viewer
  • .NET Merger
  • .NET Generator
  • .NET Print Manager
  • .NET Rasterizer

PDF ActiveX SDK

即时PDF查看

  • 快速投放市场
  • 可视化编程组件
  • 体积小
  • 速度快
  • 高质量

知名企业选择福昕PDF软件

Foxit SDK Customers

系统要求

操作系统
  • Windows XP、Vista、Windows 7、Windows 8和 Windows 10(32位和64位)
  • Windows Server 2003、2008、2012和2016(32位和64位)
Foxit Windows Support

Foxit PDF SDK(Windows版)样例

        static void Main(string[] args)
        {
            string input_path = "../input_files/";
            string output_path = "../output_files/bookmark/";
            System.IO.Directory.CreateDirectory(output_path);

            string sn = "";
            string key = "";
            ErrorCode error_code = Library.Initialize(sn, key);
            if (error_code != ErrorCode.e_ErrSuccess)
            {
                Console.WriteLine("Library Initialize Error: {0}\n", error_code);
                return;
            }

            try
            {
                string input_file = input_path + "AboutFoxit.pdf";
                string output_file1 = output_path + "bookmark_add.pdf";
                string output_file2 = output_path + "bookmark_change.pdf";

                using (PDFDoc doc = new PDFDoc(input_file))
                {
                    error_code = doc.Load(null);
                    if (error_code != ErrorCode.e_ErrSuccess)
                    {
                        Console.WriteLine("The PDFDoc [{0}] Error: {1}\n", input_file, error_code);
                        Library.Release();
                        return;
                    }

                    // Show original bookmark information.
                    ShowBookmarksInfo(doc, output_path + "bookmark_info.txt");

                    //Get bookmark root node or Create new bookmark root node.
                    Bookmark root = doc.GetRootBookmark();
                    
                        if (root.IsEmpty())
                        {
                            root = doc.CreateRootBookmark();
                        }
                        using (root)
                        {
                            for (int i = 0; i < doc.GetPageCount(); i += 2)
                            {
                                using (Destination dest = Destination.CreateFitPage(doc, i))
                                {
                                    string ws_title = string.Format("A bookmark to a page (index: {0})", i);

                                    Bookmark child;
                                    using (child = root.Insert(ws_title, Bookmark.Position.e_PosLastChild))
                                    {
                                        child.SetDestination(dest);
                                        child.SetColor(i * 0xF68C21);
                                    }
                                }
                            }
                            doc.SaveAs(output_file1, (int)PDFDoc.SaveFlags.e_SaveFlagNoOriginal);

                            // Get first bookmark and change properties.
                            Bookmark first_bookmark;
                            using (first_bookmark = root.GetFirstChild())
                            {
                                first_bookmark.SetStyle((int)Bookmark.Style.e_StyleItalic);
                                first_bookmark.SetColor(0xFF0000);
                                first_bookmark.SetTitle("Change bookmark title, style, and color");

                                // Remove next sibling bookmark
                                using (Bookmark nextsibling_bookmark = first_bookmark.GetNextSibling())
                                {
                                    if (!nextsibling_bookmark.IsEmpty())
                                    {
                                        doc.RemoveBookmark(nextsibling_bookmark);
                                    }
                                }
                                string bookmark_info_file = output_path + "bookmark_info1.txt";
                                ShowBookmarksInfo(doc, bookmark_info_file);
                            }
                        }
                    doc.SaveAs(output_file2, (int)PDFDoc.SaveFlags.e_SaveFlagNoOriginal);
                    Console.WriteLine("Bookmark demo.");
                }
            }
            catch (foxit.PDFException e)
            {
                Console.WriteLine(e.Message);
            }

            Library.Release();
        }
    }
namespace pdf2imageCS
{
    class pdf2image
    {
        private const string input_path = "../input_files/";
        private const string output_path = "../output_files/pdf2image/";

        public static void Save2Image(System.Drawing.Bitmap bitmap, int nPageIndex, string sExt)
        {
            string save_name = output_path + string.Format("AboutFoxit_{0}{1}", nPageIndex, sExt);
            // Add the bitmap to image and save the image.
            foxit.common.Image image = new foxit.common.Image();
            image.AddFrame(bitmap);
            image.SaveAs(save_name);

            Console.WriteLine("Save page {0} into a picture of {1} format.", nPageIndex, sExt);
        }

        public static void Save2Image(foxit.common.Image image, string sExt)
        {
            string save_name = output_path + string.Format("AboutFoxit{0}", sExt);
            // Add the bitmap to image and save the image.
            image.SaveAs(save_name);

            Console.WriteLine("Save pdf file into a picture of {0} format.", sExt);
        }

        static void Main(string[] args)
        {
            System.IO.Directory.CreateDirectory(output_path);

            string sn = "";
            string key = "";
            ErrorCode error_code = Library.Initialize(sn, key);
            if (error_code != ErrorCode.e_ErrSuccess)
            {
                Console.WriteLine("Library Initialize Error: {0}\n", error_code);
                return;
            }

            string[] support_image_extends = { ".bmp", ".jpg", ".jpeg", ".png", ".jpx", ".jp2" };
            string[] support_multi_image = { ".tif", ".tiff" };
            try
            {
                string input_file = input_path + "AboutFoxit.pdf";
                using (PDFDoc doc = new PDFDoc(input_file))
                {
                    error_code = doc.Load(null);
                    if (error_code != ErrorCode.e_ErrSuccess)
                    {
                        Console.WriteLine("The PDFDoc [{0}] Error: {1}\n", input_file, error_code);
                        Library.Release();
                        return;
                    }

                    foxit.common.Image image = new foxit.common.Image();
                    // get page count
                    int nPageCount = doc.GetPageCount();
                    for(int i=0;i<nPageCount;i++)
                    {
                        using (PDFPage page = doc.GetPage(i))
                        {
                            // Parse page.
                            page.StartParse((int)foxit.pdf.PDFPage.ParseFlags.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.
                            System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
                            Graphics draw = Graphics.FromImage(bitmap);
                            draw.Clear(Color.White);

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

                            draw.Dispose();
                        }
                    }
                    for (int j = 0; j < support_multi_image.Length; j++)
                    {
                        string extend = support_multi_image[j];

                        Save2Image(image, extend);
                    }
                }
            }
            catch (foxit.PDFException e)
            {
                Console.WriteLine(e.Message);
            }

            Library.Release();
        }
    }
}