上个月我们介绍了LEADTOOLS云服务,一个全新的产品提供由LEADTOOLS,世界领先的成像sdk。我们重点介绍了它的OCR、条形码和文档转换功能,以及如何在Node.js应用程序中使用这些服务。在这篇文章中,我们将探索一个更实用的场景。
今天,我们将展示如何在Linux上使用PHP和LEADTOOLS云服务将文件转换为PDF。对于LEADTOOLS和我们的客户来说,这是一个令人兴奋的例子,原因有二。首先,它开着Linux !多年来,我们一直专注于Windows开发平台,如。net、C/ c++、COM、ActiveX等。其次,它是PHP。我们创建LEADTOOLS云服务的一个重要原因是为了PHP社区。
创建一个可搜索的PDF档案
将文档存储为可搜索PDF或PDF/ a格式的原因有很多。它是一种功能丰富、高效、跨平台、面向未来的文档格式。无纸化仍然是一件大事,尤其是对银行和保险公司这样的大公司来说。无论您是扫描大量纸质文档,还是整合充满不同文件格式的遗留存档,都可以在轻量级有效的服务器脚本中使用LEADTOOLS Cloud Services,该脚本将自动创建和维护规范化存档。
的代码
在我们的示例场景中,我们正在运行一个主要用于文件存储的Linux服务器。使用Web API可以保持该服务器的安全性和最小化,实际上不需要安装新的库或软件,因为它只依赖于PHP、cURL和Internet连接。
使用LEADTOOLS云服务转换文件包括两个步骤。首先,您必须发送转换请求并接收请求的GUID。
function GeneratePostOptions($url, $inputFile){//生成CURL选项数组的函数$appId = "你的应用ID在这里";$password = "你的应用程序密码在这里";$file = new CURLFile($inputFile);$imageData = array('image' => $file);$postOptions = array(CURLOPT_POST => 1, CURLOPT_URL => $url, CURLOPT_FRESH_CONNECT => 1, CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERPWD => "$appId:$password", CURLOPT_FORBID_REUSE => 1, CURLOPT_POSTFIELDS => $imageData,);返回postOptions美元;} //生成要使用的CURL选项$conversionRequestOptions = GeneratePostOptions($formattedConversionURL, $inputFile);$request = curl_init();curl_setopt_array(请求,conversionRequestOptions美元); //Set the request URL if (!$guid = curl_exec($request)) { echo "There was an error processing the request. ∖n∖r"; echo $guid; exit; } curl_close($request); //Close the request echo "Unique ID returned by the services: $guid ∖n∖r";
现在您的文件已经上传并由LEADTOOLS Cloud Services处理,您将需要使用查询方法来轮询服务。完成后,您可以下载该文件。
//轮询服务以确定请求是否已完成处理。While (true) {$request = curl_init();curl_setopt_array(请求,queryRequestOptions美元);//如果(!)$results = curl_exec($request)) {echo "查询服务出错∖n∖r";echo $结果;curl_close($请求);退出;} curl_close($请求);$decodedResponse = json_decode($results); $fileStatus = $decodedResponse->{'FileStatus'}; if ($fileStatus != 100 && $fileStatus != 123) { //The file has finished processing break; } sleep(5); //If the file hasn't finished processing, we will wait 5 seconds before checking again. } echo "File finished processing with file status: " . $fileStatus . "∖n∖r"; //The file did not process successfully. Refer to our documentation for the full list of File Statuses and their associated meanings. if ($fileStatus != 200) { exit; } echo "Results: ∖n∖r"; //Decode and parse the JSON results. $jsonArray = $decodedResponse->{'RequestData'}; foreach ($jsonArray as $serviceResults) { echo "Service Type: " . $serviceResults->{'ServiceType'} . "∖n∖r"; echo "URL List: ∖n∖r"; foreach ($serviceResults->{'urls'} as $url) { // Download the file $path = parse_url($url, PHP_URL_PATH); echo "Downloading " . basename($path) . " ...∖n∖r∖n∖r"; file_put_contents("/home/gregr/Documents/output/" . basename($path), fopen($url, "r")); echo $url . " downloaded∖n∖r"; } }
就是这样!这个解决方案非常灵活,几乎可以从任何应用程序、服务、调度器或文件夹监视器中启动,以转换文件并将它们添加到存档中。
图1:显示成功转换的终端输出。
图2:搜索从示例TIFF创建的PDF/A文件中的文本。
额外的使用
显然,这只是一个简单的示例,但可以扩展以满足许多实际应用程序的需求。如上所述,这样一个简单的PHP脚本几乎可以插入到任何需要实现文档文件转换的现有应用程序中。
如果您不想使用PHP, LEADTOOLS云服务可以在许多其他语言中使用,如c#、JavaScript、Python和Perl,在广泛的环境中具有相同的简单性。
结论
LEADTOOLS云服务为几乎所有编程环境带来了LEADTOOLS文档成像的强大功能。其价格合理的基于消费的定价模型和Web API体系结构可以使您的应用程序比市场上的大多数API和sdk运行得更快。访问https://services.leadtools.com获取更多信息。
支持
需要帮忙把这个样本准备好吗?联系我们的支持团队免费技术支持!有关价格或许可问题,您可以联系我们的销售团队CloudSales@leadtools.com或致电704-332-5532。


