【问题标题】:create a pdf file from a byte array returned by a .net webservice从 .net Web 服务返回的字节数组创建 pdf 文件
【发布时间】:2012-11-08 14:10:26
【问题描述】:

您好,我是一名 c# 程序员,具有 php 的基本知识。目前正在处理需要下载 pdf 的 php 任务。我尝试通过网络服务下载,但它不起作用。我能够获得相关 PDF 的字节数组。是否可以将其转换为PDF文件。请帮忙谢谢。

我的php代码:

   <?php
    require_once("nuSOAP/lib/nusoap.php");
    $client = new nusoap_client('http://localhost/WS-PDF/Fill_Pdf.asmx?wsdl',true);
    $soapaction = "http://tempuri.org/GetPdf";
    $namespace= "http://tempuri.org/";
    $client->soap_defencoding = 'UTF-8';
    $params = array('test' => "PDF");
    $result = $client->call('GetPdf',$params,$namespace,$soapaction);
    print_r(array_values($result));
    $err = $client->getError();
    if ($err) {
        exit();
    }
?>

【问题讨论】:

  • 一个文件只是一个字节流。您应该能够将该数组保存到磁盘文件并以 PDF 格式打开。当然,前提是您收到的字节代表一个有效的 PDF 文件。
  • @JimMischel 你能给我一些示例代码吗

标签: php .net web-services pdf


【解决方案1】:

如果您将字节分配给一个变量,然后告诉浏览器输出一个 pdf,您应该将 pdf 取回。在下面的示例中,我使用了变量 $pdf。

header("Content-type: application/pdf");
header("Content-Length: $length");
header("Content-Disposition: inline; filename='$filename'");
echo $pdf;

【讨论】:

  • 对就是文件的长度,你可以使用这个函数来获取那个信息filesize();
  • 它似乎返回了文件大小。我应该使用数组变量而不是文件名来获取大小吗?因为我正在创建一个新文件
  • 如果它返回完全相同的文件,那么我将只使用文件位置。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多