SeanXie
1
订单.xlsx【副本】.xlsx.zip (16.4 KB)
PdfSaveOptions opts = new PdfSaveOptions();
Worksheet worksheet = wb.getWorksheets().get(0);
PageSetup pageSetup = worksheet.getPageSetup();
pageSetup.setTopMargin(1);
pageSetup.setLeftMargin(1);
pageSetup.setRightMargin(1);
opts.setOutputBlankPageWhenNothingToPrint(false);
opts.setAllColumnsInOnePagePerSheet(true);
opts.setCalculateFormula(true);
wb.save(output, opts);
@SeanXie
在将 Excel 导出为 PDF 时,可以尝试使用 PageSetup.SetHeader 并在其中加入 Excel 的格式化代码来指定斜体字体。示例代码如下(参考 [5]):
// workbook 已经加载
Worksheet sheet = wb.getWorksheets().get(0);
PageSetup pageSetup = sheet.getPageSetup();
// ① 设置页眉内容(左/中/右),使用 &"FontName,Italic" 指定斜体
// 这里以左侧页眉为例,使用 Arial 斜体
pageSetup.setHeader(0, "&\"Arial,Italic\"&L订单号:12345");
// ② 其它 PageSetup 参数(如页边距)保持不变
pageSetup.setTopMargin(1);
pageSetup.setLeftMargin(1);
pageSetup.setRightMargin(1);
// ③ PDF 保存选项
PdfSaveOptions opts = new PdfSaveOptions();
opts.setOutputBlankPageWhenNothingToPrint(false);
opts.setAllColumnsInOnePagePerSheet(true);
opts.setCalculateFormula(true);
// ④ 保存为 PDF
wb.save(outputPath, opts);
关键说明
- 格式化代码
&"FontName,Italic" 用于在页眉/页脚中使用指定字体并启用斜体。
&L、&C、&R 分别代表左、中、右三段内容,可按需选择。
- 使用
SetHeader(或 SetFooter)时加入上述代码后,PDF 中的页眉文字有可能以斜体显示,前提是所使用的字体已在系统中安装。
如果仍未看到斜体,请检查:
- 所使用的字体(如
Arial、Times New Roman 等)是否已在系统中安装。
setHeader 的第一个参数(0‑左、1‑中、2‑右)是否对应了实际想要显示的区域。
按照上述方式设置后,页眉文字的倾斜样式应能在导出的 PDF 中得到体现。如有其他异常,请继续在本帖反馈。
John.He
3
@SeanXie
通过研究样例文件,我们发现原始样例文件里并没有设置页眉文字倾斜,请查看附件里的Excel打印预览图片1.png。在我们修改了页眉文字倾斜并进行打印预览,在Excel打印预览里可以看到文字倾斜效果,请查看附件里的图片2.png。通过使用以下样例代码在最新版本v25.12上进行测试,我们可以得到正确的结果。请查看附件。result.zip (311.6 KB)
Workbook wb = new Workbook(filePath + "订单.xlsx【副本】-modify.xlsx");
PdfSaveOptions opts = new PdfSaveOptions();
Worksheet worksheet = wb.getWorksheets().get(0);
PageSetup pageSetup = worksheet.getPageSetup();
// pageSetup.setTopMargin(1);
// pageSetup.setLeftMargin(1);
// pageSetup.setRightMargin(1);
opts.setOutputBlankPageWhenNothingToPrint(false);
opts.setAllColumnsInOnePagePerSheet(true);
opts.setCalculateFormula(true);
wb.save(filePath + "out_java_modify.pdf", opts);