我发现pdf到字节数组,反之亦然,在java,dotnet和python中。但我想将pdf转换为php laravel中的字节数组。我使用的是会计软件解决方案“ IMUIS”,需要将日志条目从laravel流明发送到“ IMUIS”进行处理。但是转换后会出现错误。
“错误”:“无法将类型为System.String的对象转换为类型为System.Byte []。”
用英语意味着
“错误消息”:“无法将System.String对象转换为System.Byte []类型。”
文档在这里给出:
这是它的代码。
public function saveJournal($values = '') {
//echo "adasd";dd();
$partnerKey = $values->input('Partnerkey');
$omgevingscode = $values->input('Environmentcode');
$file = file_get_contents($values->file('Pdffile'));
$str = base64_encode($file);
$options = array(
\WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_URL => env('IMUIS_URL'),
\WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_CLASSMAP => ClassMap::get(),
);
$login = new \mysdk\ImuisSDK\ServiceType\Login($options);
if ($login->Login(new \mysdk\ImuisSDK\StructType\Login($partnerKey, $omgevingscode)) !== false) {
$sessionid = $login->getResult()->SessionId;
}
$array = [
'BOE' => [
'JR' => '2018',
'PN' => '5',
'DAGB' => 20,
'REK' => 20032,
'TEGREK' => '40',
'FACT' => 0,
'BTW' => 4,
'BEDRBOEK' => 123.45,
'DAT' => '08-05-2018',
'OPM' => 'Anand testing from wsdl',
'BEDRBTW' => 21,
'FACT' => 0,
'OMSCHR' => 'Testing from wsdl api',
'BOEKSTUK' => 2018075
],
'DIGDOS' => [
'FILE' => $str
]
];
$journaalpost = ArrayToXml::convert($array, 'NewDataSet');//convert array to xml string
$create = new \mysdk\ImuisSDK\ServiceType\Create($options);
if ($create->CreateJournaalpost(new \mysdk\ImuisSDK\StructType\CreateJournaalpost($partnerKey, $omgevingscode, $sessionid, $journaalpost)) !== false) {
$jsonResponse = $create->getResult();
} else {
$jsonResponse = $create->getLastError();
}
return $jsonResponse;
}
这也是响应:
{
"success": true,
"result": {
"CreateJournaalpostResult": false,
"Journaalpost": "<?xml version=\"1.0\"?>\n<NewDataSet><BOE><JR>2018</JR><PN>5</PN><DAGB>20</DAGB><REK>20032</REK><TEGREK>40</TEGREK><FACT>0</FACT><BTW>4</BTW><BEDRBOEK>123.45</BEDRBOEK><DAT>08-05-2018</DAT><OPM>Anand testing from wsdl</OPM><BEDRBTW>21</BEDRBTW><OMSCHR>Testing from wsdl api</OMSCHR><BOEKSTUK>2018075</BOEKSTUK></BOE><DIGDOS><FILE>JVBERi0xLjMKMyAwIG9iago8PC9UeXBlIC9QYWdlCi9QYXJlbnQgMSAwIFIKL1Jlc291cmNlcyAyIDAgUgovQ29udGVudHMgNCAwIFI+PgplbmRvYmoKNCAwIG9iago8PC9GaWx0ZXIgL0ZsYXRlRGVjb2RlIC9MZW5ndGggMzg2Pj4Kc3RyZWFtCniclZNPb9pAEMXvfIp3TA8Zdme93jE3G0xFJWgKJtdolbhICTYU6L9v3zWEGKnUVeST1++9+b2xzfjUU2QdfvayAv2xRkJKofiKvOh9g00ssUCFS0xMzFDNY0uxw2OF/kRjtMGXxms06QSOLUnwP+Fmkd+lyMr9wddP+9r7aoDxfFE8NOfaKqtZO+PoV7X+gOK5mdekSBhg/opJfb0qK+9fDthsB2Cl5VbZWx1D80DZAbtzhiIX2iiSJGBTIoLd6mo1hRXesGMRSuxx3ixNpxjl2aRY5vPX1NDwzcASk1GXjnE6LJbL+Ww5nV51RCykokvHZDZMF5+R5aN5+rF1BJ2xcDoiY1DBSmBT5/s1FqceDPl3D8fEpxmj8schLB/DTbX19e+OJq1Hc+Q6CrTCJBzwFeUrhQ1fTfROitYTs+mAaHVamU4KI8TmnRStJ+Zr0WeKVvefVbBu/prjS6/333e+fiwx9bVflbs9MrqnDpjWq7WRDpoLYSTOUXyxwD9RUucvCmVuZHN0cmVhbQplbmRvYmoKMSAwIG9iago8PC9UeXBlIC9QYWdlcwovS2lkcyBbMyAwIFIgXQovQ291bnQgMQovTWVkaWV5s7I11RFTyPO/t9OL74tl5/das6enN0bXwr//AKZ629kqeo76x9P/AOOs4y+N/wDK6nJuq/7nerWTI6zQrTReVjEVir+fVST/AF1m6Wrf7W+uMQ+o/D744dNdW2I8fKx2Ny8nCOrKu5j18zJOGq/JoeLX9ndp47YfR9t7+zUmmy59IPG9wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABuIAowMDAwMDc2NDgzIDAwMDAwIG4gCjAwMDAwNzY1NTkgMDAwMDAgbiAKdHJhaWxlcgo8PAovU2l6ZSAxMQovUm9vdCAxMCAwIFIKL0luZm8gOSAwIFIKPj4Kc3RhcnR4cmVmCjc2NjA5CiUlRU9GCg0KCiAgICAgIA==</FILE></DIGDOS></NewDataSet>\n",
"Primarykey": null,
"Foutmelding": "Kan een object van het type System.String niet converteren naar het type System.Byte[]."
}
}
IMUIS软件中存在“错误”,因此无法从php链接pdf文件。它可以由Dotnet完成,因为它的母语和它所构建的整个系统。感谢我所有的SO朋友为您帮助我发现问题所做的努力,在致电支持后,我已确认此信息。所以将来没有人会卡住(毕竟可能在2018年底):)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句