我正在嘗試使用 iText 7 將 HTML 報(bào)告轉(zhuǎn)換為兩種不同的頁(yè)面大小,這很方便,因?yàn)槲铱梢允褂靡韵路椒ㄔO(shè)置頁(yè)面大?。篜ageSize pageSize = PageSize.A3; pdf.setDefaultPageSize(pageSize);但我試圖在 CSS 樣式上應(yīng)用一個(gè)技巧,因?yàn)槲倚枰鶕?jù)頁(yè)面大小重寫(xiě)一些類,例如 A3 >> 表格字體大小 = 12pt,而在 LETTER >> 表格字體大小 = 6pt。該報(bào)告包含大量數(shù)據(jù),我必須將它們放入兩種尺寸中。字母大小確實(shí)具有挑戰(zhàn)性,我使用 % 作為字體大小,但由于內(nèi)容是動(dòng)態(tài)的,有時(shí)顯示的結(jié)果報(bào)告會(huì)從右側(cè)修剪,甚至忽略 @Page 選擇器中的邊距規(guī)范,這就是為什么我需要在不使用 % 的情況下指定它避免這樣的問(wèn)題。此外,我試圖通過(guò)僅用一張紙覆蓋樣式來(lái)完成此任務(wù)。經(jīng)過(guò)搜索,我通過(guò)使用最小寬度和最大寬度功能發(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 語(yǔ)句,其中一個(gè)語(yǔ)句應(yīng)該在當(dāng)時(shí)觸發(fā)。我用 screen 元素測(cè)試了它,它完美地應(yīng)用了它,但對(duì)于 iText 7,只有最后一個(gè)語(yǔ)句應(yīng)用于兩種尺寸。那么,我錯(cuò)過(guò)了什么?我正在嘗試使其與 iText 7 PDF 一起使用?有什么想法或建議嗎?
1 回答

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