2017-03-29 16 views
-1

iTextSharpを使用して画像をPDFレポートに表示しています。ここでは2つの画像を連続して表示したいと思っていますが、期待通りに動作していますが、ページの終わりに達すると問題が発生します。問題は、最後の行のイメージが同じページに収まるように縮小され、自動的に次のページに追加されないことです。すべての画像が同じ次元と解像度を持ちます。ページ終了時に自動的に画像を縮小する

Click here for screenshot

+0

問題を再現するためのコードを用意しておいたほうがよいでしょう。 [mcve] – hering

答えて

0

最も簡単な解決策(すべての画像を考慮し、同じディメンションおよび解像度を持っている)手動で新しいページを挿入して、ページに画像の最大数が挿入されているたびに改ページすることです。

1

コードをお知らせください。

私は以下のテストを書いていますが(Javaになっていても問題ありません)、結果は正しいようです。

public void tableWithImagesTest01() throws IOException, InterruptedException { 
    String testName = "tableWithImagesTest01.pdf"; 
    String outFileName = destinationFolder + testName; 
    String cmpFileName = sourceFolder + "cmp_" + testName; 

    PdfDocument pdfDoc = new PdfDocument(new PdfWriter(outFileName)); 
    Document doc = new Document(pdfDoc, PageSize.A3); 

    Image image1 = new Image(ImageDataFactory.create(sourceFolder + "itis.jpg")); 
    Table table = new Table(2); 
    for (int i = 0; i < 20; i++) { 
     table.addCell(new Cell().add(image1)); 
     table.addCell(new Cell().add(image1)); 
     table.addCell(new Cell().add(new Paragraph("Hello"))); 
     table.addCell(new Cell().add(new Paragraph("World"))); 
    } 
    doc.add(table); 

    doc.close(); 
    Assert.assertNull(new CompareTool().compareByContent(outFileName, cmpFileName, destinationFolder, "diff")); 
} 

結果PDFファイルは次のようになります。 enter image description here

たぶん、あなたはsummat image1.setAutoScale(true);を使うのか?それでも見るにはコードが必要です。以下のコメントから撮影

+0

ありがとう、最後に私はこの問題の解決策を得ました。 image.ScaleToFitHeight = false; – Firoz

0

は、機能するソリューションは、あなたが設定する必要があり、個々の画像に、次のとおりです。

image.ScaleToFitHeight =偽;

行をまとめて保存すると発生する可能性があります

関連する問題