我正在測試iText以生成由平鋪格式的8個圖像組成的PDF。我使用JFreeChart創建一個圖形,然後由iText將其轉換爲圖像。 PDF生成的很好,但是當我打開輸出文件時,左側,右側和底部仍有大約一英寸的空白。我想打印時利用合法大小頁面上的所有空間。使用iText消除PDF中的所有空白空間
我知道在PDF中沒有「邊距」的概念,它不是可編輯的格式。圖像必須在沒有空白的情況下創建。文檔構造函數中的額外參數實際上做了什麼?
我認爲通過向Document對象(LEGAL和1f params)提供必要的參數可以消除空白,並且我的表將佔用打印頁面上的所有8.5x14,但沒有運氣。
有什麼建議嗎?在此先感謝
原始代碼:
// Setup document
Document doc = new Document(PageSize.LEGAL, 1f, 1f, 1f, 1f);
PdfWriter writer = PdfWriter.getInstance(doc, new FileOutputStream("c:\\temp\\image_in_chunk.pdf"));
doc.open();
//create the chart, save to file system, and create an iText Image object
ChartUtilities.saveChartAsPNG(new File("C:\\temp\\img.png"), createChart(createDataset()), 240, 240);
Image img1 = Image.getInstance("C:\\temp\\img.png");
PdfPCell cell1 = null;
Paragraph paragraph = new Paragraph();
paragraph.add(new Chunk(img1, 0, 0, true));
PdfPTable table = new PdfPTable(2);
for (int i = 0; i < 8; i++)
{
cell1 = new PdfPCell(paragraph);
table.addCell(cell1);
}
doc.add(table);
doc.close();
更正和工作守則(當然,創建自己的JFreeChart作爲IMG1我不能發佈不是成員的樣本圖像輸出。):
// Setup document
Document doc = new Document(PageSize.LEGAL, 0f, 0f, 0f, 0f);
PdfWriter writer = PdfWriter.getInstance(doc, new FileOutputStream("c:\\temp\\image_in_chunk.pdf"));
doc.open();
//create the chart, save to file system, and create an iText Image object
ChartUtilities.saveChartAsPNG(new File("C:\\temp\\img.png"), createChart(createDataset()), 305, 250);
Image img1 = Image.getInstance("C:\\temp\\img.png");
// Create pdf document
for (int i = 0; i < 8; i++)
{
doc.add(new Chunk(img1, 0, 0, true));
}
doc.close();
你能告訴我怎樣才能去除頂部空白當我在grails中使用jFreeChart生成條形圖? – VVB 2015-02-24 07:10:22