65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 ActivePDF DocConverter 进行大规模自动化文档转换和数字化转型

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1投票)

2018年11月7日

CPOL
viewsIcon

5832

DocConverter功能强大,每天可以转换数百万份文档,并且在处理完成后自动加密、签名、通过电子邮件发送和FTP传输文档。

文档及其数据是每个企业的核心。各行各业的商务专业人士经常共享PowerPoint、Word、Excel和PDF等数字文件。这些文件通常包含大量文本、高分辨率图像和嵌入式附件。如果没有适当的数字化转型和自动化解决方案,管理这些文档和数据流(可能涉及数百种文件格式)将很快变成一项繁琐的任务。

企业需要一种解决方案,能够按需自动转换文档及其数据,无论是创建标准表单还是满足收件人的要求。

ActivePDF提供了一款名为DocConverter的流行产品,该产品使开发人员甚至IT管理员能够以极少的代码或无需代码即可大规模地将文档转换为PDF或从PDF转换。它会监视用户定义的文件夹(也称为“监视文件夹”)中的文件,并在文件到达时进行转换。

DocConverter功能强大,每天可以转换数百万份文档,并且在处理完成后自动加密、签名、通过电子邮件发送和FTP传输文档。DocConverter甚至能够在转换过程中解析压缩的ZIP文件。

如何配置自动化文档转换

首先,在此处下载并开始您的DocConverter免费试用版

https://www.activepdf.com/products/docconverter

安装DocConverter后,您可以单击桌面图标启动配置管理器

图1:ActivePDF DocConverter的配置启动器。

该快捷方式会打开一个本地网页链接,您也可以直接访问该链接。该网页提供了直观的浏览器内配置体验。

在主页面上,您可以

  • 编辑PDF转换配置文件
  • 设置打印到PDF的偏好设置
  • 配置电子邮件偏好设置
  • 指定FTP站点
  • 创建各种文档源的转换配置文件
  • 指示哪些文件夹将触发自动转换
  • 执行与签名和过滤器相关的其他任务等。

要开始,请导航到“监视文件夹配置文件”选项卡,并提取默认的文档转换路径。

自动化文档转换设置和偏好设置

DocConverter会自动转换放置在您选择的指定文件夹位置的文件。与PDF的双向转换自动化支持数百种不同的文件格式和各种可自定义的配置。您还应该注意到,DocConverter会自动解压压缩文件,并对ZIP存档中的每个项目执行转换。

如何将Word转换为PDF

为了测试此场景,请创建一个简单的Word文档,其中包含几行格式化的文本,并将其放入“输入”文件夹。它几乎立即消失,这意味着系统立即识别并开始处理,结果在相应的“输出”文件夹中生成了一个高保真的PDF,该PDF完美渲染。

图2:使用ActivePDF的DocConverter进行Word到PDF的转换测试。

如何将Excel转换为PDF

接下来,将Excel电子表格放入您选择的“输入”文件夹。在此示例中,使用了锻炼计划。转换后的PDF几乎立即出现在输出文件夹中。

图3:使用ActivePDF的DocConverter进行Excel到PDF的转换测试。

如何将.ZIP文件中的图像转换为PDF

最后进行测试,收集几张图像并将它们压缩成一个文件。将zip文件放入目标目录,等待几秒钟,然后准备查看结果。接下来的屏幕截图是一个示例,其中转换配置为将多个图像文件合并为单个PDF文档。

图4:使用ActivePDF的DocConverter进行ZIP文件中包含多张图像的图像到PDF的转换测试。

拖放式的“监视文件夹”功能非常棒,对于那些希望更快地将此功能部署到其组织中的用户来说非常方便,但DocConverter不仅仅是自动化文档转换。它提供了一套强大而灵活的API,使开发人员能够以编程方式转换文档,并完全控制转换过程以及输出的处理方式。无限的可能性是令人兴奋的,并且确实只受您的想象力的限制。

作为开发人员,如何使用DocConverter API将文本转换为PDF

APDocConverter类提供了将文档转换为PDF或从PDF转换的所有功能。要查看其效果,请打开Visual Studio并创建一个简单的.NET控制台应用程序。添加对APDocConverter.Net45的引用(文档描述了在哪里可以找到可引用的DLL)。以下代码是您需要从命令行解析文档并将其转换为PDF所需的所有代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            var dc = new APDocConverter.DocConverter();
            dc.ConvertToPDF(args[0], "output.pdf"); 
        }
    }
}

从命令行运行程序,并传递源文档的完整路径。程序立即转换文档,并在同一目录中保存一个名为output.pdf的文件。例如,此

./ConsoleApp1.exe "c:/temp/sample.txt"

产生了以下输出

图5:使用ActivePDF的DocConverter进行UTF-8文本文件(含表情符号)的API测试。

转换也可以反向进行。

作为开发人员,如何使用DocConverter API从PDF转换为HTML

DocConverter可以轻松地将PDF转换为任何数量的图像格式或其他文件类型。它还可以利用可缩放矢量图形(SVG)在HTML中呈现像素完美的版本。将控制台应用程序更新为如下所示:

var dc = new APDocConverter.DocConverter();
if (args[0].EndsWith(".pdf"))
{
    dc.ConvertFromPDF(args[0], APDocConverter.FromPDFFunction.ToHtmlEx, "output.html");
}
else
{
    dc.ConvertToPDF(args[0], "output.pdf");
}

应用程序现在将自动检测何时传递PDF,并将其转换为HTML。您可以传递复杂的PDF文档。在此示例中,应用程序使用了示例政府W-9表格。

./ConsoleApp1.exe "c:/temp/fw9.pdf"

生成的HTML完美地呈现了表单,如图所示的Web浏览器输出截图所示。

图6:使用ActivePDF的DocConverter进行PDF到HTML的转换测试。

如何使用HTTP协议通过DocConverter REST API进行PDF转换

除了可以在基于Windows的服务器上部署的解决方案外,DocConverter还提供了一个REST API,使您能够使用支持HTTP协议的任何语言或平台来转换文档。端点与管理页面托管在同一端口上。

以下程序使用REST API将示例文档转换为PDF。它使用.NET Core编写,除了Windows之外,还可以在Linux或macOS上运行以转换文件(应用程序只需访问DocConverter服务器)。

using System;
using System.IO;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Task.Run(Run).Wait();
        }

        public static async Task Run()
        {
            using (HttpClient client = new HttpClient())
            {
                client.Timeout = new TimeSpan(0, 15, 0);
                string token = string.Empty;

                //REST API endpoint to convert to PDF with json settings
                // is the Server IP address of where DocConverter is installed
                Uri uri = new Uri("https://:62625/api/DocConverter/Conversion");

                //Multipart content
                MultipartContent content = new MultipartContent();

                //Create MemoryStream of input file to convert to PDF
                FileInfo file1 = new FileInfo(@"c:\temp\sample.txt");
                MemoryStream ms = new MemoryStream();
                using (FileStream fs = file1.OpenRead())
                {
                    fs.CopyTo(ms);
                }
                ms.Seek(0, SeekOrigin.Begin);

                //Create the StreamContent of the input file and add to the MultpartContent
                StreamContent is1 = new StreamContent(ms);
                is1.Headers.ContentType = new MediaTypeHeaderValue("text/plain");
                is1.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
                {
                    Name = "sample",
                    FileName = "sample.txt"
                };
                content.Add(is1);

                //Post the MultipartContent to the endpoint (uri) to convert the input file to PDF using json settings
                HttpResponseMessage hrm = await client.PostAsync(uri, content);
                if (hrm.StatusCode == HttpStatusCode.OK)
                {
                    byte[] bytes = await hrm.Content.ReadAsByteArrayAsync();
                    File.WriteAllBytes(@"c:\temp\Converted.pdf", bytes);
                }
                else
                {
                    //Get the error message if something went wrong
                    string error = await hrm.Content.ReadAsStringAsync();
                    Console.WriteLine(error);
                }

            }
        }
    }
}

该示例使用本地测试和调试的默认设置。可以更改配置以要求身份验证令牌来保护REST API端点。

如何使用DocConverter中的高级功能

我们已经清楚地表明,DocConverter的功能远不止转换文件。它能够加密输出文件、添加密码保护、数字签名文档,以及在生成的文档上添加水印或“图章”。它还可以自动发送电子邮件和/或将结果上传到FTP服务器。

高级功能 - 如何设置FTP服务器上传和/或使用DocConverter进行电子邮件发送

以下代码片段说明了如何配置上传到FTP服务器的请求。

// Setup the FTP request supplying credentials if needed
oDC.AddFTPRequest("127.0.0.1", "/folder");
oDC.SetFTPCredentials("user", "pass");

// Set which files will upload with the FTP request
// To attach a binary file use AddFTPBinaryAttachment
oDC.FTPAttachOutput = true;
oDC.AddFTPAttachment(strPath + "file.txt");

以编程方式处理电子邮件附件的方式同样简单。

结论

DocConverter是一种高吞吐量的文档转换解决方案,它提供了多种将文档转换为PDF或从PDF转换的方法。您可以通过简单地将文件拖放到文件夹或文件共享中来自动化PDF转换,DocConverter将根据您在配置管理器中设置的选项自动上传或通过电子邮件发送最终的转换结果。

开发人员可以通过利用REST API,以最少的代码轻松地将PDF修改功能直接集成到他们的软件应用程序中。DocConverter是一个您可以部署一次并扩展到每天管理数百万份文档的解决方案。

要开始,请立即访问ActivePDF获取您的DocConverter免费试用版。

https://www.activepdf.com/products/docconverter

© . All rights reserved.