1

私は非常に背の高い ASP チャート (PNG ファイル) を持っています。高さ 4000px としましょう。iTextSharp を使用して PDF ファイルを生成すると、ページが 1 つしかなく、チャートの 25 ~ 30% しか表示されません。画像を 1 ページに収まるように拡大縮小したくありません。チャートの詳細を確認できるように、チャートを複数のページに広げたり分割したりしたいと考えています。グラフが 4 ページに収まる場合、PDF も 4 ページである必要があります。以下の画像では、私のグラフ、私の希望 (6 ページに広がる)、および iTextSharp によって生成された実際の外観 (1 ページに表示されるグラフの上部) を確認できます。 画像

    Document pdfDoc = new Document(PageSize.A4.Rotate(), 10f, 10f, 10f, 0f);
    PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
    pdfDoc.Open();
    using (MemoryStream stream = new MemoryStream())
    {
        Chart1.SaveImage(stream, ChartImageFormat.Png);
        iTextSharp.text.Image chartImage = iTextSharp.text.Image.GetInstance(stream.GetBuffer());
        chartImage.ScalePercent(70f);// This solves the width of the chart
        pdfDoc.Add(chartImage);
        pdfDoc.Close();

        Response.ContentType = "application/pdf";
        Response.AddHeader("content-disposition", "attachment;filename=Chart.pdf");
        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        Response.Write(pdfDoc);
        Response.End();
    }
4

2 に答える 2