2017-05-18 11 views
0

iTextSharpドキュメントを作成し、そのドキュメントの作成に関連したメモリストリームオブジェクトを返すためのソリューションはたくさんありますが、既存のiTextSharpドキュメントをメモリストリームまたはバイト配列に変換しますか?既存のiTextSharpドキュメントをバイト配列に変換する

// convert the PDF Document to a byte array 
public byte[] ToByte (Document pdf_doc) 
{ 
    byte[] rtn_array = null; 
    **// what goes here, something using PdfReader ???** 
    return rtn_array; 
} 
+0

これは、以前これが返答されたようです。[http://stackoverflow.com/questions/1192384/itextsharp-how-to-convert-document-to-byte](http://stackoverflow.com/questions/) 1192384/itextsharp-how-to-convert-document-to-byte) – user3583535

+0

PDFファイルをメモリストリームに変換しますか?それを行うにはiTextは必要ありません。 –

答えて

0

メモリストリームまたはバイト配列に既存のiTextSharpの文書を変換する方法はありますか?

バージョン7 Document前のiText(シャープ)のアーキテクチャでは第

があるいくつかの書式設定情報を知っている(デフォルトのページサイズ、余白、...)と抽象与えることができ形骸クラス登録されたリスナークラスに転送し、出力フォーマットのエンティティにしてストリームに書き出し、すぐにそれらを忘れてしまうドキュメントパーツ(段落、テーブルなど)

(バージョン5の前にiTextの分布もRTFを作成するためのクラスが含まれている!しかし、たとえバージョン5.xのためにあなたがあなたの好みの内容に抽象的な文書パーツを変換するために、独自のリスナーを登録することができます。)

このように、 iText Document(可能な場合)をシリアライズしてデシリアライズすると、効果的なのは、抽象的なドキュメントフォーマットのみを復元でき、具体的なコンテンツは復元できません。しかしそれはサポートされていません。メモリ内の全コンテンツのモデルを保つDocumentクラスとライブラリとは対照的に


、iTextのは、高スループット、大サイズ、低フットプリント・サーバ・アプリケーション用に設計されています。

これは、XML DOMとXML SAXの違いと比較できます。 iTextは、SAX(またはStAX)と比較することができます.SOA(またはStAX)では、メモリに本格的なドキュメント表現があるDOMとは対照的に、ライブラリではほとんどドキュメントが認識されません。あなたは何ができるか


は、もちろん、あなたが後でPdfReaderによって読み取られ、PdfStamperで操作することができますMemoryStreamへの書き込みにPdfWriterを登録することです。しかし、私はそれがあなたが考えていたものではないと仮定します。

+0

ありがとう、私はほとんどそのことを理解していませんでしたが、静的オブジェクトではなくストリームとしてのiTextドキュメントのアイデアは、それを扱うための構文の一部を説明します。 –

+0

ポイントを与えても、私の担当者が表示するには低すぎます。 –

+0

@vs_coder答えは、左上のチェックマークをクリックして受け入れることができます。 – mkl

関連する問題