【发布时间】:2015-10-15 03:46:59
【问题描述】:
我尝试将 pdf 文件转换为图像。
我检查了这个website,并按照所有步骤说明进行操作。
1.obtain an api license key
2.download the API Class
3.Deploy the php file
4.create my pdf file
但是当我运行我的文件时会发生这个错误:
-
错误
致命错误:未捕获的 SoapFault 异常:[WSDL] SOAP-ERROR:解析 WSDL:无法从“http://apis.pdfaid.com/pdfaidservices/Service1.svc?wsdl”加载:无法在 C:\xampp\htdocs\Web_V2 中加载外部实体“http://apis.pdfaid.com/pdfaidservices/Service1.svc?wsdl” \PdfaidServices.php:128 堆栈跟踪:#0 C:\xampp\htdocs\Web_V2\PdfaidServices.php(128): SoapClient->SoapClient('http://apis.pdf...', Array) #1 C:\xampp\ htdocs\Web_V2\teste_1.php(32): Pdf2Jpg->Pdf2Jpg() #2 {main} 在第 128 行的 C:\xampp\htdocs\Web_V2\PdfaidServices.php 中抛出
粗体代码部分是引发错误的地方
谁能帮帮我? 我会永远感激不尽。
这是我的文件
<?php
include 'PdfaidServices.php';
$myPdf2Jpg = new Pdf2Jpg();
$myPdf2Jpg->apiKey = "xxxxxxxxxx";
$myPdf2Jpg->inputPdfLocation = "pdf_file.pdf";
$myPdf2Jpg->outputZipLocation = "UploadedPdf/pdf2jpg.zip";
$myPdf2Jpg->outputImageFormat = ".jpg";
$myPdf2Jpg->imageQuality = 50;
$result = $myPdf2Jpg->Pdf2Jpg();
?>
这是发生错误的 API 类 PdfaidServices.php
<?php
class Xps2PdfConverter
{
public $apiKey = "";
public $inputXpsLocation = "";
public $outputPdfLocation = "";
public $pdfAuthor = "";
public $pdfTitle = "";
public $pdfSubject = "";
public $pdfKeywords = "";
function Xps2PdfConvert()
{
if($this->apiKey == "")
return "Please specify ApiKey";
if($this->outputPdfLocation == "")
return "Please specify location to save output Pdf";
if($this->inputXpsLocation == "")
return "Please specify input XPS file Location";
else
{
$fileStream = file_get_contents($this->inputXpsLocation);
}
$parameters = array("FileByteStream" => $fileStream);
$wsdl = "http://apis.pdfaid.com/pdfaidservices/Service1.svc?wsdl";
$endpoint = "http://apis.pdfaid.com/pdfaidservices/Service1.svc";
$option=array('trace'=>1);
$client = new SoapClient($wsdl, $option);
$headers[] = new SoapHeader('http://tempuri.org/', 'apikey', $this->apiKey);
$headers[] = new SoapHeader('http://tempuri.org/', 'pdfTitle', $this->pdfTitle);
$headers[] = new SoapHeader('http://tempuri.org/', 'pdfAuthor', $this->pdfAuthor);
$headers[] = new SoapHeader('http://tempuri.org/', 'pdfSubject', $this->pdfSubject);
$headers[] = new SoapHeader('http://tempuri.org/', 'pdfKeywords', $this->pdfKeywords);
$headers[] = new SoapHeader('http://tempuri.org/', 'responseResult', "test");
$client->__setSoapHeaders($headers);
$result = $client->Xps2Pdf($parameters);
$clientResponse = $client->__getLastResponse();
if($clientResponse == "APINOK")
return "API is not Valid";
if($clientResponse == "NOK")
return "Error Occured";
else
{
$fp = fopen($this->outputPdfLocation, 'wb');
fwrite($fp, $result->FileByteStream);
fclose($fp);
return "OK";
}
}
}
class Pdf2Jpg
{
public $apiKey = "";
public $outputImageFormat = "";
public $inputPdfLocation = "";
public $outputZipLocation = "";
public $imageQuality = 50;
function Pdf2Jpg()
{
if($this->apiKey == "")
return "Please specify ApiKey";
if($this->outputImageFormat == "")
return "Please specify Output Image Format";
if($this->outputZipLocation == "")
return "Please specify Output Zip File Location";
if($this->inputPdfLocation == "")
return "Please specify input Pdf file Location";
else
{
$fileStream = file_get_contents($this->inputPdfLocation);
}
$parameters = array("FileByteStream" => $fileStream);
$wsdl = "http://apis.pdfaid.com/pdfaidservices/Service1.svc?wsdl";
$endpoint = "http://apis.pdfaid.com/pdfaidservices/Service1.svc";
$option=array('trace'=>1);
$client = new SoapClient($wsdl, $option);
$headers[] = new SoapHeader('http://tempuri.org/', 'apikey', $this->apiKey);
$headers[] = new SoapHeader('http://tempuri.org/', 'outputFormat', $this->outputImageFormat);
$headers[] = new SoapHeader('http://tempuri.org/', 'imageQuality', $this->imageQuality);
$headers[] = new SoapHeader('http://tempuri.org/', 'responseResult', "test");
$client->__setSoapHeaders($headers);
$result = $client->Pdf2Jpg($parameters);
$clientResponse = $client->__getLastResponse();
if($clientResponse == "APINOK")
return "API is not Valid";
if($clientResponse == "NOK")
return "Error Occured";
else
{
$fp = fopen($this->outputZipLocation, 'wb');
fwrite($fp, $result->FileByteStream);
fclose($fp);
return "OK";
}
}
}
?>
请!!有人可以帮帮我吗?
【问题讨论】:
标签: php web-services soap wsdl