私はPDFのリストをlist<byte[]>
として保存しています。私はPDFsharpを使用してこれらのPDFファイルをすべて連結しようとしますが、私の操作後に適切なページ数のPDFが得られますが、すべてのページは空白です。私はいくつかのヘッダーや何かを失うように見えますが、私はどこを見つけることができません。PDFsharpを使用してPDFを連結すると空のPDFが返されます
マイコード:私は後でそれらを使用しているためbyte[]
としてそれを返すようにしたい
PdfDocument output = new PdfDocument();
try
{
foreach (var report in reports)
{
using (MemoryStream stream = new MemoryStream(report))
{
PdfDocument input = PdfReader.Open(stream, PdfDocumentOpenMode.Import);
foreach (PdfPage page in input.Pages)
{
output.AddPage(page);
}
}
}
if (output.Pages.Count <= 0)
{
throw new Exception("Empty Document");
}
MemoryStream final = new MemoryStream();
output.Save(final);
output.Close();
return final.ToArray();
}
catch (Exception e)
{
throw new Exception(e.ToString());
}
:
return File(report, System.Net.Mime.MediaTypeNames.Application.Octet, "test.pdf");
これは、適切なページ数でPDFを返しますが、すべてのブランク。
私はiTextSharpを使用
output.Save(filename);作業? –
ファイルに保存するときに正しいファイルを取得していますか?そうでない場合は、インポートしたPDFファイルに問題がある可能性があります。はいの場合、使用しているMemoryStreamに問題がある可能性があります(ToArrayを呼び出す前に2回クローズしていますが、デバッガなしでは問題があるかどうかはわかりません)。 MCVEがなければ、あなたの問題をデバッグしようとはしません。 –
PDFSharpを使用せずにPDFを返すと、正しく動作します。私はPDFSharpを使用して6 pdfを1ページに連結すると、結果として6ページの1 pdfが得られますが、すべてのページは空白です。 – Aht