1. Ürün:% s
  2.   Kelime İşleme
  3.   Java
  4.   Apache POI XWPF

Apache POI XWPF

 
 

Word OOXML Belgeleri için Java API

Java uygulamalarında Microsoft Word DOCX dosyalarını Oluşturmak, Okumak, Düzenlemek ve Dönüştürmek için Açık Kaynak çözümü.

Apache POI XWPF, Microsoft Word 2007 DOCX dosya biçimini okuma ve yazma işlevselliği sağlar. XWPF, bir Word DOCX dosyasının ana bölümlerine erişim sağlayan oldukça kararlı bir çekirdek API'ye sahiptir. Temel ve belirli metin çıkarma, üstbilgi ve altbilgi manipülasyonu, metin işleme ve stil özellikleri için kullanılabilir. 

Apache POI XWPF, Microsoft Word dosya oluşturma ve belge düzenleme, metin ve paragraf biçimlendirme, görüntü ekleme, tablo oluşturma ve ayrıştırma, adres mektup birleştirme özellikleri, form öğelerinin yönetimi ve çok daha fazlasıyla tanınır.

Previous Next

Apache POI XWPF'ye Başlarken

Öncelikle sisteminizde Java Development Kit (JDK) kurulu olmalıdır. Zaten sahipseniz, bir arşivdeki en son kararlı sürümü almak için Apache POI'nin indirme sayfasına gidin. ZIP dosyasının içeriğini, gerekli kitaplıkların Java programınıza bağlanabileceği herhangi bir dizine çıkarın. Hepsi bu!

Maven tabanlı Java projenizde Apache POI'ye başvurmak daha da basittir. Tek ihtiyacınız olan, pom.xml dosyanıza aşağıdaki bağımlılığı eklemek ve IDE'nizin Apache POI Jar dosyalarını almasına ve referans vermesine izin vermektir.

Apache POI Maven Bağımlı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 kullanarak Word Belgeleri Oluşturun ve Düzenleyin

Apache POI XWPF, yazılım programcılarının DOCX dosya formatında yeni Word Belgeleri oluşturmasını sağlar. Geliştiriciler, uygulama ihtiyaçlarına göre düzenlemek için mevcut bir Microsoft Word DOCX dosyasını da yükleyebilir. Yeni paragraflar eklemenize, metin eklemenize, metin hizalama ve kenarlıklar uygulamanıza, metin stilini değiştirmenize ve daha pek çok şeye olanak tanır.

Sıfırdan bir DOCX dosyası oluşturun

// 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 Belgelerine Paragraf, Resim ve Tablo Ekleme

Apache POI XWPF, geliştiricilerin Word belgelerine paragraflar ve resimler eklemesine olanak tanır. API, kullanıcı tanımlı verilerle basit ve iç içe geçmiş tablolar oluşturmayı mümkün kılarken DOCX belgelerine tablo ekleme özelliğini de sağlar.

Tablo içeren yeni bir DOCX dosyası oluşturun

// 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 Belgesinden Metin Çıkarma

Apache POI XWPF, Microsoft Word DOCX belgelerinden yalnızca birkaç satır kodla veri çıkarmak için özel sınıf sağlar. Aynı şekilde, bir Word dosyasından başlıkları, dipnotları, tablo verilerini vb. çıkarabilir.

Word dosyasından metin ayıklayı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 Belgelerine Özel Üstbilgi ve Altbilgi Ekleme

Üstbilgi ve altbilgi, genellikle tarihler, sayfa numaraları, yazarın adı ve dipnotlar gibi daha uzun belgeleri organize etmeye ve daha kolay okunmasına yardımcı olan ek bilgileri içerdiğinden, Word belgesinin önemli bir parçasıdır. Apache POI XWPF, Java geliştiricilerinin Word belgelerine özel üstbilgi ve altbilgi eklemesine olanak tanır.

Word DOCX Dosyasında Özel Üstbilgi ve Altbilgiyi Yönetin


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);
      }
    }
  }
}
 Türkçe