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提供全面的注释和标记功能,支持创建、编辑、导入和导出注释等。
 
 

全文搜索

对任何语言或编码类型PDF文档支持快速全文搜索功能。即使是搜索各类数字设备上的文件库,基于SQLite的全文搜索都能提供近乎即时的结果。
 

Announcing PDF SDK 6.2 

Foxit PDF SDK 6.2 introduces a brand-new Objective-C API for development in Mac, and extended support for Microsoft AD RMS 2.1.

Additionally, in Android and iOS we have added UI improvements, full support for multimedia annotations (audio, video, and voice!) as well as full XFA form support.

高级技术

XFA表单

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

权限管理

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

OCR文字识别

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

密文处理

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

互联PDF

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

转换

利用我们的转换和压缩技术更快地转换和存储文件。支持将TIFF、JPEG、Word、Email、HTML、ASCII文本等格式文件转换PDF和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();
        }
    }
}