Ich lese ein Word-Dokument und möchte mit Java in eine andere Word-Datei schreiben. Ich möchte, dass der Stil (Schriftart, fett, kursiv, Überschrift usw.) des Inhalts im gelesenen Dokument so geschrieben wird, wie es das neue Dokument ist. Ich kann den Inhalt, aber nicht den Format-Stil kopieren.Mit JAVA in eine Word-Datei schreiben
Ich bekam eine Antwort, um das gleiche Format des Textes zu kopieren, aber ich kann keine Zahlen kopieren. ich ausgeführt, um diesen Code:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.IBody;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.hwpf.model.StyleDescription;
import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import org.apache.poi.xwpf.usermodel.XWPFStyle;
import org.apache.poi.xwpf.usermodel.XWPFStyles;
import java.util.List;
public class ReadFile
{
public static void main(String[] args)throws Exception
{
XWPFDocument docx = new XWPFDocument(new FileInputStream("d:\\Profiles\\mehjain\\Desktop\\Test1.docx"));
List<XWPFParagraph> paragraphList = docx.getParagraphs();
XWPFDocument document= new XWPFDocument();
FileOutputStream out = new FileOutputStream(new File("d:\\Profiles\\mehjain\\Desktop\\Test2.docx"));
XWPFParagraph n = document.createParagraph();
for (XWPFParagraph paragraph : paragraphList)
{
for(XWPFRun run1 : paragraph.getRuns())
{
XWPFRun run=n.createRun();
run.setText(run1.getText(0));
run.setFontFamily(run1.getFontFamily());
run.setBold(run1.isBold());
run.setItalic(run1.isItalic());
run.setStrike(run1.isStrike());
run.setColor(run1.getColor());
}
XWPFRun run=n.createRun();
run.addCarriageReturn();
}
document.write(out);
document.close();
out.close();
System.out.println("Test2.docx written successfully");
}
}
Möchten Sie ganze Absätze von Test1.docx zu Test2.docx kopieren? Dies wäre mit der Methode 'setParagraph (XWPFparagraph paragraph, int pos)' von 'XWPFDocument' möglich. –
Was meinst du mit "Ich kann keine Zahlen kopieren"? Meinst du nummerierte Listen (Absätze)? Und noch einmal: Würde das Kopieren von ganzen Absätzen von Test1.docx nach Test2.docx eine Option sein? Oder soll man den Inhalt mehrerer Absätze aus Test1.docx in einen Absatz in Test2.docx der Anforderung einfügen? –
Lassen Sie uns sagen "1. Einführung" ist in Test1.Docx vorhanden. So kann ich nur "Einführung" in Test2.docx kopieren –