0
を生成し、私は、メモリ内のダミーPDFを生成し、クライアントに戻ってそれを送信するために次の関数を作っていますiTextSharpはitextsharp 4.2.0を使用して、無効なPDF
静的関数から呼び出されinternal override byte[] GeneratePDFDocument(pdfContent content)
{
Document document = new Document(PageSize.A4, 30f, 30f, 30f, 30f);
MemoryStream output = new MemoryStream();
PdfWriter writer = PdfWriter.GetInstance(document, output);
document.Open();
document.Add(new Paragraph("Hello World"));
byte[] response = output.ToArray();
document.Close();
return response;
}
:
私はFoxitのリーダー7が得られたPDFを開くとpublic HttpResponseMessage PrintPDF(HttpRequestMessage req)
{
HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
byte[] pdfData = PrintReport.Print(printJobString);
result.Content = new ByteArrayContent(pdfData);
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf");
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
result.Content.Headers.ContentDisposition.FileName = "PrintPDF.pdf";
return result;
}
:WebAPIのコントローラから呼び出され
public static byte[] Print(string jsonData)
{
PDFGeneratorBase generator;
generator = new ITextSharpGenerator();
return generator.GeneratePDFDocument(view.GetViewData());
}
。 2、エラーメッセージは "フォーマットエラー:PDFまたは破損していません"です。
私はここで間違っていますか?
は、他のリーダで正しく読まファイルですか? MD5合計を確認できますか? –