1

要するに...

渡されたパラメーターに基づいて PDF を生成する ASP.NET スクリプトがあります。まず、このスクリプトを PHP から呼び出せるようにする必要があります。次に、ファイルがブラウザーに送信された後は保存されないようにする必要があります。

スクリプトの呼び出し

私の最初の質問は、PHP.NETを必要とするアプリケーションをどのように実行できるかということです。DLL'sPHP について何か読んだことComponent Object Modelがありますが、これが何であり、どのように機能するかについては少しわかりません (ここを読みました)。または、このスクリプトを にコンパイルして、.exeそれを介して呼び出す方がよいでしょうか?

.exeさらに、 PHP経由で呼び出すときにパラメーターを渡すことは可能ですか?

ファイルを保存せずに送信する

ファイルが生成されたら(経由.NETまたは経由で.exe)、サーバーに保存せずにブラウザに送信したいと思います。私は次のスレッドを見てきました:

  1. PHP で一時ファイルを作成する
  2. 一時ファイルを作成して自動削除

上記のスレッドには正しい答えが含まれている可能性がありますが、これらの方法のいずれかを使用して PDF を送信できるかどうかはわかりませんでした...

結論として

以下を実現するスクリプトを書きたいと思います。

  1. パラメーターを指定してスクリプト (.NETアプリケーションまたは) を呼び出します。.exe
  2. 結果のコンテンツ (PDF) をサーバーに保存せずにブラウザーに出力します。

私は誰かにこのスクリプトを書くように頼んでいるわけではありません。私がこれを自分で書けるようにするための指針が欲しいだけです :-)

これらの PDF が同じになることはめったにないため、これらの PDF をサーバーに保存しても意味がありません。

4

1 に答える 1

1

ご質問にお答えします....

=>。私の最初の質問は、PHP の DLL を必要とする .NET アプリケーションを実行するにはどうすればよいかということです。

確かに、それとやり取りするには COM オブジェクトを作成する必要があります。あなたが書いた同じページには、単語の相互作用のためにcomオブジェクトを開くためのこのような例があります....

<?php
// starting word
$word = new COM("word.application") or die("Unable to instantiate Word");
echo "Loaded Word, version {$word->Version}\n";

//bring it to front
$word->Visible = 1;

//open an empty document
$word->Documents->Add();

//do some weird stuff
$word->Selection->TypeText("This is a test...");
$word->Documents[1]->SaveAs("Useless test.doc");

//closing word
$word->Quit();

//free the object
$word = null;
?>

=>パラメータを指定してスクリプト (.NET アプリケーションまたは .exe) を呼び出します!

パラメータ付きのコンソールのように呼び出すには、アクセス可能なルートに php の cli が必要です。それらは、PHP の argv 配列にあります。

=>結果のコンテンツ(PDF)をサーバーに保存せずにブラウザに出力します

正しいヘッダーをブラウザー type:application/pdf に送信すると、記述した内容が開きます。このよう

コード :

    <?php
$file='/files/the.pdf';
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="the.pdf"');
@readfile($file);
?>

さて、あなたは要点を理解します... :)

于 2013-06-13T11:52:56.357 に答える