所以...基本上我有一个docx文件。我必须在几个段落中做一些格式更改,然后保存在一个新文件中。我所做的基本上是跟随。
import scala.collection.JavaConversions._
import org.apache.poi.xwpf.usermodel._
def format( sourceDocumentPath: String, outputDocumentPath: String ) {
val sourceXWPFDocument = new XWPFDocument( new FileInputStream( sourcePath ) )
// lets say I have a list of paragraph numbers... I want to format
val parasToFormat = List( 2, 10, 15, 20 )
val allParagraphs = sourceXWPFDocument.getParagraphs
for ( ( paragraph, index ) <- allParagraphs.zipWithIndex ) {
if( parasToFormat.contains( index ) ) {
formatParagraph( paragraph )
}
}
val outputDocx = new FileOutputStream( new File( outputDocumentPath ) );
xwpfDocument.write( outputDocx )
outputDocx.close()
}
def formatParagraph( paragraph: XWPFParagraph ): Unit = {
// Do some color changing to few runs
// Add few runs with new text.
}
在大多数情况下,一切都很好。output docx在我的Ubuntu上的LibreOffice中打开得很好。
不过...我的代码是Scala...我认为类似的情况也应该适用于Java代码...而且大多数Poi用户都在java社区...所以我还添加了Java标记。
嗯...所以我试了各种办法,终于解决了这个问题。
基本上这个问题是由以下非常简单的事情引起的,
def copyRunFontSizeAttribute( sourceRun: XWPFRun, targetRun: XWPFRun ): Unit = {
targetRun.setFontSize( sourceRun.getFontSize )
}
在设置实例xwpfrun
的字体大小时,假设xwpfruntarget
为xwpfrunsource.getfontsize
的返回值(其中xwpfrunsource
是xwpfrun
的另一个实例)会导致一些非常奇怪和意外的结果。
所以...目前,我删除了所有这些位,在这些位中,我正在执行CopyRunFontsizeAttribute
解决了这个问题。
我使用的是MySQL数据库。我有两张桌子,一张桌子和二张桌子。表1中有一个复合主键。表2中有一个复合外键,它引用了表1中的复合主键。 我遇到的问题如下所示: 表1 |------------PK-----------| menuid 我可以在表2中创建一个引用表1中一个错误条目的条目: 表2 |------------FK-----------| 现在,这不是一个大问题,因为我可以将有效值插入数据
我有一个函数,它被设计为通过传入一个to关键字参数来调用。我使用哨兵对象作为默认值,这样我就可以确保没有人只是在没有任何参数的情况下调用,这是一个明显的逻辑错误。通过传递作为其中一个参数的值来调用函数是可以的,在这种情况下它只是不做任何处理。 如果arg1不是NO_ VALUE,arg1和arg2不是NO_VALUE,arg2和arg2,我可以简化<code>分别为<code>和<code>的<c
我在PyCharm中创建虚拟环境时遇到问题。确切地说,3.10版中的Python是在安装过程中添加到Path的,我使用的是最新版本的PyCharm社区。 有人有类似的问题吗? 添加信息 我如何创建环境: > 文件- 位置:D:\mm\projekty\pythonProject2 标记新的虚拟环境使用(虚拟环境) 位置:D:\mm\projekty\pythonProject2\venv 基本解释
我使用Tomcat 8.0.53和Java8来开发普通的Spring应用程序,但当我运行服务器时,实际上我会遇到这种类型的错误 操作系统:macOS RAM:8GB
注意:我尝试了此代码,但它们创建的分页符不是分节符: 其他代码: 此代码都会创建分页符而不是分节符。 首先,如何创建分节符?第二,如何设置不同的页码格式?第三,如何为每个部分设置“不同的首页”选项?谢谢
问题内容: 有没有简单的方法就可以使用java-8在没有外部库的情况下创建无限流? 例如在Scala中: 问题答案: 是的,有一个 简单的 方法: 作为用例: 打印出0到198,以2为步长递增。 通用方法是: 后者的用法可能更不常见。