Java 如何使用POI取消自动调整单词段落中的中西语言间距
我使用Java 如何使用POI取消自动调整单词段落中的中西语言间距,java,apache-poi,Java,Apache Poi,我使用XWPFDocument和XWPFParagraph类来创建一个单词,但是中西方之间总是有差距,我取消了通过Word自动调整中西方语言在单词段落中的间距可以解决问题,但是我如何使用代码来做到这一点 我想我可以使用CTStyle,但我不知道怎么做 XWPFDocument doc = new XWPFDocument(); XWPFParagraph page = doc.createParagraph(); XWPFRun runs = page.createRun(); runs.set
XWPFDocument
和XWPFParagraph
类来创建一个单词,但是中西方之间总是有差距,我取消了通过Word自动调整中西方语言在单词段落中的间距可以解决问题,但是我如何使用代码来做到这一点
我想我可以使用CTStyle
,但我不知道怎么做
XWPFDocument doc = new XWPFDocument();
XWPFParagraph page = doc.createParagraph();
XWPFRun runs = page.createRun();
runs.setBold(false);
runs.setFontFamily("宋体");
runs.setFontSize(9);
runs.setText("12H型");
//export
OutputStream output = response.getOutputStream();
BufferedOutputStream bufferedOutPut = new BufferedOutputStream(output);
bufferedOutPut.flush();
doc.write(bufferedOutPut);
bufferedOutPut.close();
我猜您指的是中描述的设置 这些设置使用段落属性中的元素
autoSpaceDE
和autoSpaceDN
存储在document.xml
中
使用apache poi可以这样做:
import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.*;
public class CreateWordEnglishAndChinese {
public static void main(String[] args) throws Exception {
XWPFDocument document = new XWPFDocument();
XWPFParagraph paragraph = document.createParagraph();
if (paragraph.getCTP().getPPr() == null) paragraph.getCTP().addNewPPr();
if (paragraph.getCTP().getPPr().getAutoSpaceDE() == null) paragraph.getCTP().getPPr().addNewAutoSpaceDE();
paragraph.getCTP().getPPr().getAutoSpaceDE().setVal(org.openxmlformats.schemas.wordprocessingml.x2006.main.STOnOff.OFF);
if (paragraph.getCTP().getPPr().getAutoSpaceDN() == null) paragraph.getCTP().getPPr().addNewAutoSpaceDN();
paragraph.getCTP().getPPr().getAutoSpaceDN().setVal(org.openxmlformats.schemas.wordprocessingml.x2006.main.STOnOff.OFF);
XWPFRun run = paragraph.createRun();
run.setText("12H型:Type 12H");
FileOutputStream out = new FileOutputStream("CreateWordEnglishAndChinese.docx");
document.write(out);
out.close();
document.close();
}
}
像12小时这样的问题型, 但是我想要12个型。没有空间。是的,我用你的方法解决了这个问题。非常感谢你。