我正在嘗試使用 iText 7 將 HTML 報告轉(zhuǎn)換為兩種不同的頁面大小,這很方便,因為我可以使用以下方法設置頁面大小:PageSize pageSize = PageSize.A3; pdf.setDefaultPageSize(pageSize);但我試圖在 CSS 樣式上應用一個技巧,因為我需要根據(jù)頁面大小重寫一些類,例如 A3 >> 表格字體大小 = 12pt,而在 LETTER >> 表格字體大小 = 6pt。該報告包含大量數(shù)據(jù),我必須將它們放入兩種尺寸中。字母大小確實具有挑戰(zhàn)性,我使用 % 作為字體大小,但由于內(nèi)容是動態(tài)的,有時顯示的結果報告會從右側修剪,甚至忽略 @Page 選擇器中的邊距規(guī)范,這就是為什么我需要在不使用 % 的情況下指定它避免這樣的問題。此外,我試圖通過僅用一張紙覆蓋樣式來完成此任務。經(jīng)過搜索,我通過使用最小寬度和最大寬度功能發(fā)現(xiàn)了 @media 最酷的功能之一,如下所示: @media only print and (min-width: 500px) and (max-width: 700px){ body { background-color: yellow; } .box-table td, th { font-size: 6pt; } } @media only print and (min-width: 800px) and (max-width: 900px){ body { background-color: green; } .box-table td, th { font-size: 12pt; } } 涼爽的?。∷淖饔妙愃朴?IF 語句,其中一個語句應該在當時觸發(fā)。我用 screen 元素測試了它,它完美地應用了它,但對于 iText 7,只有最后一個語句應用于兩種尺寸。那么,我錯過了什么?我正在嘗試使其與 iText 7 PDF 一起使用?有什么想法或建議嗎?
1 回答

RISEBY
TA貢獻1856條經(jīng)驗 獲得超5個贊
媒體設備和媒體設備描述不會自動創(chuàng)建或獲取pdfHTML,因此您需要使用以下命令手動配置它ConverterProperties:
MediaDeviceDescription deviceDescription = new MediaDeviceDescription(MediaType.PRINT)
.setWidth(PageSize.A3.getWidth());
ConverterProperties properties = new ConverterProperties().setMediaDeviceDescription(deviceDescription);
HtmlConverter.convertToPdf(..., ..., properties);
- 1 回答
- 0 關注
- 132 瀏覽
添加回答
舉報
0/150
提交
取消