簡體   English   中英

使用apache POI創建文本段落時如何刪除換行符

[英]How to remove a line break when creating a text paragraph with apache POI

我正在開發一個旨在創建自動化 PPTX 的項目。 一切都很好,除了在創建 XSLFTextBox 時,在框的開頭出現了換行符。 這是代碼的一部分

 XSLFTextBox shape = slide.createTextBox();
 XSLFTextParagraph p = shape.addNewTextParagraph();
 XSLFTextRun r1 = p.addNewTextRun();
 r1.setText("Example");

這是一個結果示例

我想知道是否有任何方法可以避免這種行為,或者我是否必須以另一種方式來做。 謝謝閱讀。

使用 XSLFTextBox 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中發生變化。 這很煩人,但無法改變。 使用顯示的檢查例程應該適合所有情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM