福昕 PDF SDK(Windows)

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

使用福昕 PDF SDK(Windows)开发PDF软件

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

Foxit Windows Support

功能

查看PDF

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

数字签名

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

PDF表单

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

 

权限管理

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

PDF注释

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

全文搜索

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

福昕 PDF SDK 简介

我们的高性能库使用最流行的开发语言及环境,为所有平台的企业、移动和云应用程序助力,提供强大的PDF功能。

福昕PDF (WEB) 10.0版本突破性的改变将多维度升级您的使用体验!

我们通过重构书签模块提高了书签加载的时间效率。停止对ASM.JS引擎的支持,并放弃了对Safari V.11以下旧版本的支持;从而压缩SDK包体积,专注于维护更现代和高效的技术。引入新库加载模式,将静态库加载方法切换为动态库加载方法;由一个主模块和几个副模块组成。提供更快的初始加载时间和更少的内存使用。

于此同时,我们支持PDF 3D模型。实现动态XFA表单脚本功能,并使XFA表单在我们的Web SDK中真正具有交互性和数据驱动性。使用 /V字典来创建签名等等特色新的功能,我们期待您的试用与宝贵的意见交互!

福昕 PDF SDK 6.3 

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

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

高级技术

XFA表单

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

权限管理

将应用程序和文件连接到微软的权限管理服务平台,保护PDF文档的安全。福昕 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服务器和桌面

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

桌面

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

服务器

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

特定功能产品

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

PDF .NET SDK

使用.NET执行基本操作

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

PDF ActiveX SDK

即时PDF查看

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

知名企业选择福昕PDF软件

系统要求

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

福昕 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();
        }
    }
}