当用户单击我网站上的某个链接时,我正在使用 apache POI - XSLF 生成一个 powerpoint 演示文稿。我有一些表格,其中包含我的演示文件中的数据以及使用 jfreechart 生成的图像(折线图)。当我在我的机器上打开 PPTX 时,它似乎工作正常。但是,当我在另一台装有 powerpoint 2013 的机器上打开文件时,出现以下错误。
“powerpoint 发现内容存在问题 powerpoint 可以尝试修复演示文稿”。
我想摆脱这个错误。我在互联网上读到解决方案是“解锁”PowerPoint,这可以通过文件的属性部分完成。我想知道是否可以通过编程方式为我的用户抑制此错误。这个错误消息至少很烦人。
我的最后一个线程已被删除 - https://stackoverflow.com/questions/41163148/how-to-unblock-pptx-using-apache-poi
因此再次在这里重新创建这个线程。在 bugzilla 中还为 apache POI 输入了一个错误。错误 ID - 60633 ( https://bz.apache.org/bugzilla/show_bug.cgi?id=60633 )。
XSLFTableCell cell
XSLFTextParagraph p
XSLFTextRun line
XSLFTable tbl = slide.createTable();
tbl.setAnchor(new Rectangle(X, Y, WIDTH, HEIGHT));
XSLFTableRow headerRow = tbl.addRow();
headerRow.setHeight(45);
//Loop through the data collection and populate rows and columns.
for(int i = 0; i < numberOfCols; i++) {
XSLFTableCell th = headerRow.addCell();
p = th.addNewTextParagraph();
p.setTextAlign(TextAlign.CENTER);
line = p.addNewTextRun();.....}
for (int item=0; item < 8; item++)
{
XSLFTableRow itemRow = tbl.addRow();.....}
//finally write the file
File pptFile = File.createTempFile("fileName", ".ppt")
FileOutputStream out = new FileOutputStream(pptFile)
ppt.write(out)
out.close()