Search in sources :

Example 6 with HPBFDocument

use of org.apache.poi.hpbf.HPBFDocument in project poi by apache.

the class TestPublisherTextExtractor method testContents.

@Test
public void testContents() throws IOException {
    // Check this complicated file using POIFS
    InputStream sample = _samples.openResourceAsStream("Sample.pub");
    HPBFDocument docOPOIFS = new HPBFDocument(sample);
    PublisherTextExtractor ext = new PublisherTextExtractor(docOPOIFS);
    assertEquals(SAMPLE_TEXT, ext.getText());
    ext.close();
    docOPOIFS.close();
    sample.close();
    // And with NPOIFS
    sample = _samples.openResourceAsStream("Sample.pub");
    NPOIFSFileSystem fs = new NPOIFSFileSystem(sample);
    HPBFDocument docNPOIFS = new HPBFDocument(fs);
    ext = new PublisherTextExtractor(docNPOIFS);
    assertEquals(SAMPLE_TEXT, ext.getText());
    ext.close();
    docNPOIFS.close();
    fs.close();
    sample.close();
    // Now a simpler file
    InputStream simple = _samples.openResourceAsStream("Simple.pub");
    ext = new PublisherTextExtractor(simple);
    assertEquals(SIMPLE_TEXT, ext.getText());
    ext.close();
}
Also used : NPOIFSFileSystem(org.apache.poi.poifs.filesystem.NPOIFSFileSystem) InputStream(java.io.InputStream) HPBFDocument(org.apache.poi.hpbf.HPBFDocument) Test(org.junit.Test)

Example 7 with HPBFDocument

use of org.apache.poi.hpbf.HPBFDocument in project poi by apache.

the class TestPublisherTextExtractor method testBasics.

@Test
public void testBasics() throws IOException {
    InputStream sample = _samples.openResourceAsStream("Sample.pub");
    HPBFDocument doc = new HPBFDocument(sample);
    PublisherTextExtractor ext = new PublisherTextExtractor(doc);
    assertNotNull(ext.getText());
    ext.close();
    doc.close();
    sample.close();
    InputStream simple = _samples.openResourceAsStream("Simple.pub");
    ext = new PublisherTextExtractor(simple);
    assertNotNull(ext.getText());
    ext.close();
    simple.close();
}
Also used : InputStream(java.io.InputStream) HPBFDocument(org.apache.poi.hpbf.HPBFDocument) Test(org.junit.Test)

Example 8 with HPBFDocument

use of org.apache.poi.hpbf.HPBFDocument in project poi by apache.

the class HPBFFileHandler method handleFile.

@Override
public void handleFile(InputStream stream, String path) throws Exception {
    HPBFDocument pub = new HPBFDocument(new POIFSFileSystem(stream));
    assertNotNull(pub.getEscherDelayStm());
    assertNotNull(pub.getMainContents());
    assertNotNull(pub.getQuillContents());
    // writing is not yet implemented... handlePOIDocument(pub);
    pub.close();
}
Also used : POIFSFileSystem(org.apache.poi.poifs.filesystem.POIFSFileSystem) HPBFDocument(org.apache.poi.hpbf.HPBFDocument)

Example 9 with HPBFDocument

use of org.apache.poi.hpbf.HPBFDocument in project poi by apache.

the class TestQuillContents method testComplexPLC.

@SuppressWarnings("unused")
@Test
public void testComplexPLC() throws IOException {
    HPBFDocument doc = new HPBFDocument(_samples.openResourceAsStream("Sample.pub"));
    QuillContents qc = doc.getQuillContents();
    assertEquals(20, qc.getBits().length);
    assertTrue(qc.getBits()[10] instanceof Type4);
    assertTrue(qc.getBits()[11] instanceof Type4);
    assertTrue(qc.getBits()[13] instanceof Type0);
    assertTrue(qc.getBits()[14] instanceof Type12);
    assertTrue(qc.getBits()[15] instanceof Type12);
    assertTrue(qc.getBits()[16] instanceof Type8);
    Type4 plc10 = (Type4) qc.getBits()[10];
    Type4 plc11 = (Type4) qc.getBits()[11];
    Type0 plc13 = (Type0) qc.getBits()[13];
    Type12 plc14 = (Type12) qc.getBits()[14];
    Type12 plc15 = (Type12) qc.getBits()[15];
    Type8 plc16 = (Type8) qc.getBits()[16];
    assertEquals(1, plc10.getNumberOfPLCs());
    assertEquals(4, plc10.getPreData().length);
    assertEquals(1, plc10.getPlcValA().length);
    assertEquals(1, plc10.getPlcValB().length);
    assertEquals(0, plc10.getPreData()[0]);
    assertEquals(0, plc10.getPreData()[1]);
    assertEquals(0, plc10.getPreData()[2]);
    assertEquals(0, plc10.getPreData()[3]);
    assertEquals(0x5d0, plc10.getPlcValA()[0]);
    assertEquals(0x800, plc10.getPlcValB()[0]);
    assertEquals(2, plc11.getNumberOfPLCs());
    assertEquals(4, plc11.getPreData().length);
    assertEquals(2, plc11.getPlcValA().length);
    assertEquals(2, plc11.getPlcValB().length);
    assertEquals(0, plc11.getPreData()[0]);
    assertEquals(0, plc11.getPreData()[1]);
    assertEquals(0, plc11.getPreData()[2]);
    assertEquals(0, plc11.getPreData()[3]);
    assertEquals(0x53a, plc11.getPlcValA()[0]);
    assertEquals(0x5d0, plc11.getPlcValB()[0]);
    assertEquals(0xa00, plc11.getPlcValA()[1]);
    assertEquals(0xc00, plc11.getPlcValB()[1]);
    assertEquals(5, plc13.getNumberOfPLCs());
    assertEquals(4, plc13.getPreData().length);
    assertEquals(5, plc13.getPlcValA().length);
    assertEquals(5, plc13.getPlcValB().length);
    assertEquals(0xff00, plc13.getPreData()[0]);
    assertEquals(0, plc13.getPreData()[1]);
    assertEquals(0xf, plc13.getPreData()[2]);
    assertEquals(0, plc13.getPreData()[3]);
    assertEquals(0x19, plc13.getPlcValA()[0]);
    assertEquals(0x00, plc13.getPlcValB()[0]);
    assertEquals(0x27, plc13.getPlcValA()[1]);
    assertEquals(0x00, plc13.getPlcValB()[1]);
    assertEquals(0x36, plc13.getPlcValA()[2]);
    assertEquals(0x00, plc13.getPlcValB()[2]);
    assertEquals(0x42, plc13.getPlcValA()[3]);
    assertEquals(0x00, plc13.getPlcValB()[3]);
    assertEquals(0x50, plc13.getPlcValA()[4]);
    assertEquals(0x00, plc13.getPlcValB()[4]);
    // TODO - test the type 12s
    assertEquals(6, plc16.getNumberOfPLCs());
    assertEquals(7, plc16.getPreData().length);
    assertEquals(6, plc16.getPlcValA().length);
    assertEquals(6, plc16.getPlcValB().length);
    assertEquals(0xff, plc16.getPreData()[0]);
    assertEquals(0, plc16.getPreData()[1]);
    assertEquals(0x56, plc16.getPreData()[2]);
    assertEquals(0, plc16.getPreData()[3]);
    assertEquals(0x62, plc16.getPreData()[4]);
    assertEquals(0, plc16.getPreData()[5]);
    assertEquals(0x3e, plc16.getPreData()[6]);
    assertEquals(0x500000, plc16.getPlcValA()[0]);
    assertEquals(0x570000, plc16.getPlcValB()[0]);
    assertEquals(0x4b0000, plc16.getPlcValA()[1]);
    assertEquals(0x000000, plc16.getPlcValB()[1]);
    assertEquals(0x0a0000, plc16.getPlcValA()[2]);
    assertEquals(0x22000000, plc16.getPlcValB()[2]);
    assertEquals(0x000005, plc16.getPlcValA()[3]);
    assertEquals(0x000004, plc16.getPlcValB()[3]);
    assertEquals(0x000004, plc16.getPlcValA()[4]);
    assertEquals(0x000004, plc16.getPlcValB()[4]);
    assertEquals(0x000004, plc16.getPlcValA()[5]);
    assertEquals(0x000004, plc16.getPlcValB()[5]);
    doc.close();
}
Also used : Type4(org.apache.poi.hpbf.model.qcbits.QCPLCBit.Type4) Type8(org.apache.poi.hpbf.model.qcbits.QCPLCBit.Type8) HPBFDocument(org.apache.poi.hpbf.HPBFDocument) Type0(org.apache.poi.hpbf.model.qcbits.QCPLCBit.Type0) Type12(org.apache.poi.hpbf.model.qcbits.QCPLCBit.Type12) Test(org.junit.Test)

Example 10 with HPBFDocument

use of org.apache.poi.hpbf.HPBFDocument in project poi by apache.

the class TestQuillContents method testPLC.

@Test
public void testPLC() throws IOException {
    HPBFDocument doc = new HPBFDocument(_samples.openResourceAsStream("Simple.pub"));
    QuillContents qc = doc.getQuillContents();
    assertEquals(20, qc.getBits().length);
    assertTrue(qc.getBits()[9] instanceof Type4);
    assertTrue(qc.getBits()[10] instanceof Type4);
    assertTrue(qc.getBits()[12] instanceof Type8);
    Type4 plc9 = (Type4) qc.getBits()[9];
    Type4 plc10 = (Type4) qc.getBits()[10];
    Type8 plc12 = (Type8) qc.getBits()[12];
    assertEquals(1, plc9.getNumberOfPLCs());
    assertEquals(4, plc9.getPreData().length);
    assertEquals(1, plc9.getPlcValA().length);
    assertEquals(1, plc9.getPlcValB().length);
    assertEquals(0, plc9.getPreData()[0]);
    assertEquals(0, plc9.getPreData()[1]);
    assertEquals(0, plc9.getPreData()[2]);
    assertEquals(0, plc9.getPreData()[3]);
    assertEquals(0x356, plc9.getPlcValA()[0]);
    assertEquals(0x600, plc9.getPlcValB()[0]);
    assertEquals(1, plc10.getNumberOfPLCs());
    assertEquals(4, plc10.getPreData().length);
    assertEquals(1, plc10.getPlcValA().length);
    assertEquals(1, plc10.getPlcValB().length);
    assertEquals(0, plc10.getPreData()[0]);
    assertEquals(0, plc10.getPreData()[1]);
    assertEquals(0, plc10.getPreData()[2]);
    assertEquals(0, plc10.getPreData()[3]);
    assertEquals(0x356, plc10.getPlcValA()[0]);
    assertEquals(0x800, plc10.getPlcValB()[0]);
    assertEquals(2, plc12.getNumberOfPLCs());
    assertEquals(7, plc12.getPreData().length);
    assertEquals(2, plc12.getPlcValA().length);
    assertEquals(2, plc12.getPlcValB().length);
    assertEquals(0xff, plc12.getPreData()[0]);
    assertEquals(0, plc12.getPreData()[1]);
    assertEquals(0x3d, plc12.getPreData()[2]);
    assertEquals(0, plc12.getPreData()[3]);
    assertEquals(0x6e, plc12.getPreData()[4]);
    assertEquals(0, plc12.getPreData()[5]);
    assertEquals(0, plc12.getPreData()[6]);
    assertEquals(0xa0000, plc12.getPlcValA()[0]);
    assertEquals(0x22000000, plc12.getPlcValB()[0]);
    assertEquals(0x05, plc12.getPlcValA()[1]);
    assertEquals(0x04, plc12.getPlcValB()[1]);
    doc.close();
}
Also used : Type4(org.apache.poi.hpbf.model.qcbits.QCPLCBit.Type4) Type8(org.apache.poi.hpbf.model.qcbits.QCPLCBit.Type8) HPBFDocument(org.apache.poi.hpbf.HPBFDocument) Test(org.junit.Test)

Aggregations

HPBFDocument (org.apache.poi.hpbf.HPBFDocument)15 Test (org.junit.Test)14 InputStream (java.io.InputStream)6 Type12 (org.apache.poi.hpbf.model.qcbits.QCPLCBit.Type12)5 Type4 (org.apache.poi.hpbf.model.qcbits.QCPLCBit.Type4)2 Type8 (org.apache.poi.hpbf.model.qcbits.QCPLCBit.Type8)2 Type0 (org.apache.poi.hpbf.model.qcbits.QCPLCBit.Type0)1 QCTextBit (org.apache.poi.hpbf.model.qcbits.QCTextBit)1 NPOIFSFileSystem (org.apache.poi.poifs.filesystem.NPOIFSFileSystem)1 POIFSFileSystem (org.apache.poi.poifs.filesystem.POIFSFileSystem)1