を生成したPPTファイルを開いている間、私は、Apache POI使用してPowerPointプレゼンテーションを作成しています - ユーザーが自分のウェブサイト上の特定のリンクをクリックしたその場で、XSLFを。私は自分のプレゼンテーションファイルのデータとjfreechartを使って生成された画像(折れ線グラフ)を持つテーブルをいくつか持っています。私のマシンでPPTXを開くと正常に動作しているようです。しかし、Powerpoint 2013を持つ別のマシンでファイルを開くと、次のエラーが発生します。
"パワーポイントでコンテンツの問題が見つかりました。パワーポイントはプレゼンテーションの修復を試みることができます"。
このエラーを取り除きたいです。私は解決策がファイルのプロパティセクションで行うことができるパワーポイントの "UNBLOCK"にあることをインターネット上で読んだ。私は、ユーザーのためにこのエラーを抑制するためにプログラムで行うことができるものがあるかどうか疑問に思っています。このエラーメッセージは、少なくとも迷惑です。
この上の私の最後のスレッドが削除された - https://stackoverflow.com/questions/41163148/how-to-unblock-pptx-using-apache-poiしたがって
再作成ここで再び、このスレッドを。バグはapi POIのためにbugzillaにも入力されます。バグ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()
をあなたの最後の質問が削除されてから変更されていますか?削除された質問への解決策は、それを盲目的に再投稿することではありません... – Gagravarr
私はあなたが正しい方法でいるとは思わない。エラーは、使用しているコードが何か間違っていることを明らかにしています。修復中にステップを見れば、さらに説明することさえできます。修理プロセスを見ながら修復する必要があるものを正確に取得し、次にそれらの問題につながる可能性のあるコードを見てください。 –
@Gagravarr私はこの問題を解決できませんでした。私はapache-poiでバグを開いて、このスレッドでバグ詳細を追加しました。私は "盲目的に"再転布が役に立たないと完全に理解しています。ただし、そうでないことはご安心ください。 1.私が間違ってやっていることを特定できる人が助けてくれるかもしれません。 2.解決策を知らない人は誰でもこの恩恵を受けることができます。 – JavaProgrammer