private static void readEntry(POIFSReaderEvent event) { POIFSDocumentPath path = event.getPath(); StringBuilder sb = new StringBuilder(); try (DocumentInputStream istream = event.getStream()) { sb.setLength(0); int pathLength = path.length(); for (int k = 0; k < pathLength; k++) { sb.append("/").append(path.getComponent(k)); } byte[] data = IOUtils.toByteArray(istream); sb.append("/").append(event.getName()).append(": ").append(data.length).append(" bytes read"); System.out.println(sb); } catch (IOException ignored) { } }
POIFSReaderEvent pe = new POIFSReaderEvent(dis, path, name); rl.processPOIFSReaderEvent(pe); POIFSReaderEvent pe = new POIFSReaderEvent(null, path, null); rl.processPOIFSReaderEvent(pe);
/** * @see org.apache.poi.poifs.eventfilesystem.POIFSReaderListener#processPOIFSReaderEvent(org.apache.poi.poifs.eventfilesystem.POIFSReaderEvent) */ public void processPOIFSReaderEvent(POIFSReaderEvent event) { try { if ((m_summary == null) && event.getName().startsWith(SummaryInformation.DEFAULT_STREAM_NAME)) { m_summary = (SummaryInformation)PropertySetFactory.create(event.getStream()); return; } if ((m_documentSummary == null) && event.getName().startsWith(DocumentSummaryInformation.DEFAULT_STREAM_NAME)) { m_documentSummary = (DocumentSummaryInformation)PropertySetFactory.create(event.getStream()); return; } } catch (Exception e) { // ignore } }
public void processPOIFSReaderEvent(POIFSReaderEvent event) { InputStream stream = event.getStream(); try { if (stream.skip(12) == 12) { // magic number for the offset to the clsid. byte[] classIdBytes = new byte[ClassID.LENGTH]; if (stream.read(classIdBytes) == ClassID.LENGTH) { classId = new ClassID(classIdBytes, 0); } } } catch (IOException e) { // Handle error. } System.out.println("Found ClassID: "+classId); } }
class MacroListener implements POIFSReaderListener { [...] @Override public void processPOIFSReaderEvent(POIFSReaderEvent event) { System.out.println(" Event: Name " + event.getName() + ", path " + event.getPath()); if (event.getPath().toString().startsWith("\\Macros") || event.getPath().toString().startsWith("\\_VBA") || event.getPath().toString().contains("_VBA_")) { this.macroDetected = true; } } }
/** * @see org.apache.poi.poifs.eventfilesystem.POIFSReaderListener#processPOIFSReaderEvent(org.apache.poi.poifs.eventfilesystem.POIFSReaderEvent) */ public void processPOIFSReaderEvent(POIFSReaderEvent event) { try { if ((m_summary == null) && event.getName().startsWith(SummaryInformation.DEFAULT_STREAM_NAME)) { m_summary = (SummaryInformation)PropertySetFactory.create(event.getStream()); return; } if ((m_documentSummary == null) && event.getName().startsWith(DocumentSummaryInformation.DEFAULT_STREAM_NAME)) { m_documentSummary = (DocumentSummaryInformation)PropertySetFactory.create(event.getStream()); return; } } catch (RuntimeException e) { // ignore } catch (Exception e) { // ignore } }
public void processPOIFSReaderEvent(POIFSReaderEvent event) { InputStream stream = event.getStream(); try { if (stream.skip(12) == 12) { // magic number for the offset to the clsid. byte[] classIdBytes = new byte[ClassID.LENGTH]; if (stream.read(classIdBytes) == ClassID.LENGTH) { classId = new ClassID(classIdBytes, 0); } } } catch (IOException e) { // Handle error. } System.out.println("Found ClassID: "+classId); } }
public static void main(final String[] args) throws IOException { final String filename = args[0]; POIFSReader r = new POIFSReader(); r.registerListener(new MyPOIFSReaderListener()); r.read(new FileInputStream(filename)); } static class MyPOIFSReaderListener implements POIFSReaderListener { public void processPOIFSReaderEvent(final POIFSReaderEvent event) { final POIFSDocumentPath path = event.getPath(); final String name = event.getName(); final DocumentInputStream stream = event.getStream(); } }
public void processPOIFSReaderEvent(POIFSReaderEvent event) { try { if (!event.getName().equalsIgnoreCase("PowerPoint Document")) return; DocumentInputStream input = event.getStream(); byte[] buffer = new byte[input.available()]; input.read(buffer, 0, input.available()); for (int i = 0; i < buffer.length - 20; i++) { long type = LittleEndian.getUShort(buffer, i + 2); long size = LittleEndian.getUInt(buffer, i + 4); if (type == 4008) { os.write(buffer, i + 4 + 1, (int) size + 3); i = i + 4 + 1 + (int) size - 1; } } } catch (Exception e) { } } }
@Override public void processPOIFSReaderEvent( POIFSReaderEvent event ) { try { SummaryInformation si = (SummaryInformation)PropertySetFactory.create(event.getStream()); setSummaryInformation(si); } catch (Exception ex) { LOGGER.debug("Error processing the metadata for the MS Office document", ex); } }
POIFSReaderEvent pe = new POIFSReaderEvent(dis, path, name); rl.processPOIFSReaderEvent(pe); POIFSReaderEvent pe = new POIFSReaderEvent(null, path, null); rl.processPOIFSReaderEvent(pe);
private static void readEntry(POIFSReaderEvent event) { POIFSDocumentPath path = event.getPath(); StringBuilder sb = new StringBuilder(); try (DocumentInputStream istream = event.getStream()) { sb.setLength(0); int pathLength = path.length(); for (int k = 0; k < pathLength; k++) { sb.append("/").append(path.getComponent(k)); } byte[] data = IOUtils.toByteArray(istream); sb.append("/").append(event.getName()).append(": ").append(data.length).append(" bytes read"); System.out.println(sb); } catch (IOException ignored) { } }
public void processPOIFSReaderEvent(POIFSReaderEvent event) { try { if (!event.getName().equalsIgnoreCase("PowerPoint Document")) { return; } DocumentInputStream input = event.getStream(); byte[] buffer = new byte[input.available()]; input.read(buffer, 0, input.available()); for (int i = 0; i < buffer.length - 20; i++) { long type = LittleEndian.getUShort(buffer, i + 2); long size = LittleEndian.getUInt(buffer, i + 4); if (type == 4008) { os.write(buffer, i + 4 + 1, (int) size + 3); i = i + 4 + 1 + (int) size - 1; } } } catch (Exception e) { } } }
@Override public void processPOIFSReaderEvent( POIFSReaderEvent event ) { try { SummaryInformation si = (SummaryInformation)PropertySetFactory.create(event.getStream()); setSummaryInformation(si); } catch (Exception ex) { LOGGER.debug("Error processing the metadata for the MS Office document", ex); } }
new POIFSReaderEvent( new DocumentInputStream(document), path, name));
@Override public void processPOIFSReaderEvent(final POIFSReaderEvent event) { SummaryInformation si; try { si = (SummaryInformation) PropertySetFactory.create(event.getStream()); } catch (Exception ex) { throw new RuntimeException ("Property set stream \"" + event.getPath() + event.getName() + "\": " + ex); } final String title = si.getTitle(); if (title != null) System.out.println("Title: \"" + title + "\""); else System.out.println("Document has no title."); } }
try ps = PropertySetFactory.create(event.getStream());
new POIFSReaderEvent( new DocumentInputStream(document), path, name));
final DocumentInputStream is = event.getStream(); if (!is.markSupported()) { throw new UnsupportedOperationException(is.getClass().getName() + d = new PropertySetDescriptor(event.getName(), event.getPath(), is, nrOfBytes); d = new DocumentDescriptor(event.getName(), event.getPath(), is, nrOfBytes); throw new RuntimeException("Unexpected exception while processing " + event.getName() + " in " + event.getPath(), t);