WPFアプリケーションで、FDFからPDFTemplateにデータを保存してPDFファイルを保存しようとしています。
というわけで、こんな状況です。テンプレートとして機能し、プレースホルダー (またはフィールド) を持つPDFTemplate.pdfがあります。次に、この FDF ファイルをプログラムで生成します。このFDFファイルには、 PDFTemplateに入力するために必要なすべてのフィールド名が含まれています。また、このFDFにはPDFTemaplteのファイル パスも含まれているため、開くときにどのPDFを使用するかがわかります。使用する。
ここで、 FDFをダブルクリックしようとすると、Adobeer Acrobat Readerが開き、データが入力されたPDFTemplateが表示されます。しかし、ファイル メニューを使用してこのファイルを保存することはできません。データ。
そこで、 iTextsharp を使用してPDFTemaplateファイルを読み取り、FDFファイルを読み取ってそこからデータを取得し、別のPDFファイルを作成してデータと共に保存することにしました。
以下は私が使用しているコードですが、新しく保存したファイルを開くと、ファイルが破損していて修復できないと表示されます。
using (MemoryStream pdfFlat = new MemoryStream())
using (PdfReader pdfReader = new PdfReader(templateLocation))
using(PdfStamper pdfStamper = new PdfStamper(pdfReader, pdfFlat))
using(FdfReader fdfReader = new FdfReader(fdfFileNameAndPath))
{
AcroFields pdfForm = pdfStamper.AcroFields;
pdfForm.SetFields(fdfReader);
pdfStamper.FormFlattening = true;
pdfStamper.Writer.CloseStream = false;
using (FileStream saveStream =
new FileStream(
outputFileNameAndPath,
FileMode.Create,
FileAccess.Write))
{
pdfFlat.WriteTo(saveStream);
pdfFlat.Flush();
saveStream.Close();
}
fdfReader.Close();
pdfStamper.Close();
pdfReader.Close();
pdfFlat.Close();
}
何が間違っているのかわかりません。助けてください。