dschmidt opened a new pull request, #3095:
URL: https://github.com/apache/tika/pull/3095

   Office documents carry their preview image as a vector metafile: the OOXML 
`docProps/thumbnail.emf` of Word (an EMF wrapping a WMF) and `thumbnail.wmf` of 
Excel, and the SummaryInformation thumbnail (PIDSI_THUMBNAIL, 
`CF_METAFILEPICT`, a WMF) of the OLE2 formats. Neither is usable as a preview 
outside Windows, and outside the JVM there is no maintained EMF/WMF rasterizer, 
while POI's HEMF/HWMF can draw both.
   
   Following the PDF parser's rendering design:
   
   - `POIMetafileRenderer` (`poi-metafile-renderer`) is a `Renderer` for 
`image/emf` and `image/wmf`: the POI picture drawn onto a white canvas, a PNG 
of a configurable width. The WMF thumbnails Word writes consist of a 
`setWindowExt` and a `dibStretchBlt` record only, for which POI cannot compute 
bounds; those are rendered from the record's bitmap.
   - `EMFParser` and `WMFParser` implement `RenderingParser` and, with 
`"emf-parser"` / `"wmf-parser": {"renderImage": true, "renderWidth": 800}` (off 
by default), emit the rendering as a `RENDERING` embedded document named after 
the image. An injected renderer is used when it supports the type, the POI one 
otherwise. The shared config and emission live in `MetafileParserConfig` and 
`MetafileRendering`.
   - `OfficeParser` emits the SummaryInformation thumbnail as a `THUMBNAIL` 
embedded document (`image/wmf`, `thumbnail.wmf`), consistent with the docProps 
thumbnail of the OOXML parsers. Two PowerPoint tests count one embedded 
document more because of it.
   
   Verified against tika-server with `/unpack`: docx, xlsx, doc, xls and ppt 
files that carry a thumbnail yield it at depth 1 and its PNG rendering at depth 
2.
   
   https://issues.apache.org/jira/browse/TIKA-4855
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to