3

HTML で作成して Word ドキュメントを生成し.doc、Web サイトから静止画像を添付するときにそれを出力する php スクリプトがあります。画像は Microsoft Word 03 および 2010 で正常に読み込まれます。ただし、URL を使用して画像を生成しようとすると (パラメータを解析することにより)画像が読み込まれないようです。

header('Content-type: application/ms-word');
header('Content-Disposition: attachement;filename="report.doc"');
header('Content-Transfer-Encoding: binary');
print($output);

私がやろうとしていることは次のとおりですXXX。フォーム ID の URL (website.com/signature.php?form=XXXX) があります。signature.php は ID 番号を受け取り、サーバーに保存されている JSON を見つけ、この jquery プラグインhttp://thomasjbradley.ca/lab/signature-to-image/を使用して、JSON ファイルから画像を生成します。

署名/画像は正常に変換され、いくつかの例に対してテストすると表示されますが、ドキュメントを Word で開くと表示されません。

<img style="display: block;" alt = "" width="200" height="74" src = "http://myWebsite.net/signature.php?form=' . $results[$i]['id'] . '" />

それが私のHTML用のものです。

編集:

私の signature.php には、次のものがあります。

  require("DB/DBConnection.php");
  require("signature-to-image.php");

  $formID = $_REQUEST['form'];
  $dbh = DBConnection::connection();
  $sql = "SELECT signature FROM forms where id = ?";
  $stmt = $dbh->prepare($sql); 
  $stmt->bindValue(1, $formID, PDO::PARAM_STR);
  $stmt->execute();
  $result = $stmt->fetch();
  if ($result != null) {
    $img = sigJsonToImage($result['signature']);
    header('Content-Type: image/jpeg');
    imagejpeg($img);
    imagedestroy($img);
  }
4

1 に答える 1

0

ヘッダーを見ていて、何が欲しいか見ていないと思います。

スクリプト内でsignature.php、画像を出力する直前に、次を追加してみてください。

header('Content-Type: image/jpeg');

... jpegを、画像が出力されている形式に置き換えます。

それが機能するかどうか教えてください。そこから取得できます。

于 2013-03-21T00:04:32.550 に答える