Apache POI XWPF
Word OOXML Sənədləri üçün Java API
Java proqramlarında Microsoft Word DOCX fayllarını yaratmaq, oxumaq, redaktə etmək və çevirmək üçün Açıq Mənbə həlli.
Apache POI XWPF Microsoft Word 2007 DOCX fayl formatını oxumaq və yazmaq funksiyasını təmin edir. XWPF, Word DOCX faylının əsas hissələrinə girişi təmin edən kifayət qədər sabit əsas API-yə malikdir. O, əsas və xüsusi mətn çıxarılması, başlıq və altbilgilərin manipulyasiyası, mətn manipulyasiyası və üslub xüsusiyyətləri üçün istifadə edilə bilər.
Apache POI XWPF daha çox Microsoft Word faylının yaradılması və sənədlərin redaktəsi, mətn və paraqrafların formatlaşdırılması, şəkillərin daxil edilməsi, cədvəlin yaradılması və təhlili, məktubların birləşməsi xüsusiyyətləri, forma elementlərinin idarə edilməsi və daha çoxu ilə məşhurdur.
Apache POI XWPF ilə işə başlamaq
İlk növbədə sisteminizdə Java Development Kit (JDK) quraşdırılmalıdır. Əgər sizdə artıq varsa, arxivdə ən son stabil buraxılışı əldə etmək üçün Apache POI-nin download səhifəsinə keçin. ZIP faylının məzmununu tələb olunan kitabxanaların Java proqramınızla əlaqələndirilə biləcəyi istənilən qovluqdan çıxarın. Bu qədər!
Maven əsaslı Java layihənizdə Apache POI-yə istinad etmək daha sadədir. Sizə lazım olan tək şey pom.xml-ə aşağıdakı asılılığı əlavə etmək və IDE-nin Apache POI Jar fayllarını götürməsinə və istinad etməsinə icazə verməkdir.
Apache POI Maven asılılığı
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.0</version>
</dependency>
Java API istifadə edərək Word sənədlərini yaradın və redaktə edin
Apache POI XWPF proqram təminatı proqramçılarına DOCX fayl formatında yeni Word Sənədləri yaratmağa imkan verir. Tərtibatçılar həmçinin mövcud Microsoft Word DOCX faylını proqram ehtiyaclarına uyğun olaraq redaktə etmək üçün yükləyə bilərlər. O, sizə yeni abzaslar əlavə etməyə, mətn daxil etməyə, mətnin düzülməsini və haşiyələri tətbiq etməyə, mətn üslubunu dəyişdirməyə və s. imkan verir.
DOCX faylını sıfırdan yaradın
// initialize a blank document
XWPFDocument document = new XWPFDocument();
// create a new file
FileOutputStream out = new FileOutputStream(new File("document.docx"));
// create a new paragraph paragraph
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText("File Format Developer Guide - " +
"Learn about computer files that you come across in " +
"your daily work at: www.fileformat.com ");
document.write(out);
out.close();
Word sənədlərinə paraqraf, şəkil və cədvəl əlavə edin
Apache POI XWPF tərtibatçılara Word sənədlərinə paraqraflar və şəkillər əlavə etməyə imkan verir. API həmçinin DOCX sənədlərinə cədvəllər əlavə etmək funksiyasını təmin edir, eyni zamanda istifadəçi tərəfindən müəyyən edilmiş data ilə sadə və iç-içə cədvəllər yaratmağa imkan verir.
Cədvəl ilə yeni DOCX faylı yaradın
// initialize a blank document
XWPFDocument document = new XWPFDocument();
// create a new file
FileOutputStream out = new FileOutputStream(new File("table.docx"));
// create a new table
XWPFTable table = document.createTable();
// create first row
XWPFTableRow tableRowOne = table.getRow(0);
tableRowOne.getCell(0).setText("Serial No");
tableRowOne.addNewTableCell().setText("Products");
tableRowOne.addNewTableCell().setText("Formats");
// create second row
XWPFTableRow tableRowTwo = table.createRow();
tableRowTwo.getCell(0).setText("1");
tableRowTwo.getCell(1).setText("Apache POI XWPF");
tableRowTwo.getCell(2).setText("DOCX, HTML, FO, TXT, PDF");
// create third row
XWPFTableRow tableRowThree = table.createRow();
tableRowThree.getCell(0).setText("2");
tableRowThree.getCell(1).setText("Apache POI HWPF");
tableRowThree.getCell(2).setText("DOC, HTML, FO, TXT");
document.write(out);
out.close();
Word OOXML Sənədindən Mətni çıxarın
Apache POI XWPF yalnız bir neçə sətir kodla Microsoft Word DOCX sənədlərindən məlumat çıxarmaq üçün xüsusi sinif təqdim edir. Eyni şəkildə, o, həmçinin Word faylından başlıqları, alt qeydləri, cədvəl məlumatlarını və s. çıxara bilər.
Word faylından mətn çıxarın
// load DOCX file
FileInputStream fis = new FileInputStream("document.docx");
// open file
XWPFDocument file = new XWPFDocument(OPCPackage.open(fis));
// read text
XWPFWordExtractor ext = new XWPFWordExtractor(file);
// display text
System.out.println(ext.getText());
DOCX Sənədlərinə Fərdi Başlıq və Altbilgi əlavə edin
Üstbilgi və altbilgi Word sənədinin mühüm hissəsidir, çünki onlar adətən daha uzun sənədləri təşkil etməyə və oxunmasını asanlaşdırmağa kömək edən tarixlər, səhifə nömrələri, müəllifin adı və qeydlər kimi əlavə məlumatları ehtiva edir. Apache POI XWPF Java tərtibatçılarına Word sənədlərinə fərdi başlıqlar və altbilgilər əlavə etməyə imkan verir.
Word DOCX Faylında Fərdi Başlıq və Altbilgini idarə edin
public class HeaderFooterTable {
public static void main(String[] args) throws IOException {
try (XWPFDocument doc = new XWPFDocument()) {
// Create a header with a 1 row, 3 column table
XWPFHeader hdr = doc.createHeader(HeaderFooterType.DEFAULT);
XWPFTable tbl = hdr.createTable(1, 3);
// Set the padding around text in the cells to 1/10th of an inch
int pad = (int) (.1 * 1440);
tbl.setCellMargins(pad, pad, pad, pad);
// Set table width to 6.5 inches in 1440ths of a point
tbl.setWidth((int) (6.5 * 1440));
CTTbl ctTbl = tbl.getCTTbl();
CTTblPr ctTblPr = ctTbl.addNewTblPr();
CTTblLayoutType layoutType = ctTblPr.addNewTblLayout();
layoutType.setType(STTblLayoutType.FIXED);
BigInteger w = new BigInteger("3120");
CTTblGrid grid = ctTbl.addNewTblGrid();
for (int i = 0; i < 3; i++) {
CTTblGridCol gridCol = grid.addNewGridCol();
gridCol.setW(w);
}
// Add paragraphs to the cells
XWPFTableRow row = tbl.getRow(0);
XWPFTableCell cell = row.getCell(0);
XWPFParagraph p = cell.getParagraphArray(0);
XWPFRun r = p.createRun();
r.setText("header left cell");
cell = row.getCell(1);
p = cell.getParagraphArray(0);
r = p.createRun();
r.setText("header center cell");
cell = row.getCell(2);
p = cell.getParagraphArray(0);
r = p.createRun();
r.setText("header right cell");
// Create a footer with a Paragraph
XWPFFooter ftr = doc.createFooter(HeaderFooterType.DEFAULT);
p = ftr.createParagraph();
r = p.createRun();
r.setText("footer text");
try (OutputStream os = new FileOutputStream(new File("headertable.docx"))) {
doc.write(os);
}
}
}
}