我正在開發一個旨在創建自動化 PPTX 的專案。一切都很好,除了在創建 XSLFTextBox 時,在框的開頭出現了換行符。這是代碼的一部分
XSLFTextBox shape = slide.createTextBox();
XSLFTextParagraph p = shape.addNewTextParagraph();
XSLFTextRun r1 = p.addNewTextRun();
r1.setText("Example");
這是一個結果示例
我想知道是否有任何方法可以避免這種行為,或者我是否必須以另一種方式來做。謝謝閱讀。
uj5u.com熱心網友回復:
看起來textbox在創建它之后已經有一個段落了XSLFTextBox textbox = slide.createTextBox();。因此,只有在還沒有段落時才需要檢查并添加段落,
代碼:
...
XSLFTextBox textbox = slide.createTextBox();
textbox.setAnchor(new Rectangle(100, 100, 100, 50));
XSLFTextParagraph paragraph = null;
if(textbox.getTextParagraphs().size() > 0) paragraph = textbox.getTextParagraphs().get(0);
if(paragraph == null) paragraph = textbox.addNewTextParagraph();
XSLFTextRun run = paragraph.addNewTextRun();
run.setText("Example");
...
不幸的是,創建后不能依賴段落的存在。這可能會apache poi因版本而異。這很煩人,但無法改變。使用顯示的檢查例程應該適合所有情況。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/483648.html
標籤:爪哇 格式化 apache-poi
