다음 코드를 사용해보십시오. ContentHandler turned your xml content.
public ContentHandler convertPdf(byte[] content, String path, String filename)throws IOException, SAXException, TikaException{
Metadata metadata = new Metadata();
ParseContext context = new ParseContext();
ContentHandler handler = new ToXMLContentHandler();
PDFParser parser = new PDFParser();
PDFParserConfig config = new PDFParserConfig();
config.setExtractInlineImages(true);
config.setExtractUniqueInlineImagesOnly(true);
parser.setPDFParserConfig(config);
EmbeddedDocumentExtractor embeddedDocumentExtractor =
new EmbeddedDocumentExtractor() {
@Override
public boolean shouldParseEmbedded(Metadata metadata) {
return true;
}
@Override
public void parseEmbedded(InputStream stream, ContentHandler handler, Metadata metadata, boolean outputHtml)
throws SAXException, IOException {
Path outputFile = new File(path+metadata.get(Metadata.RESOURCE_NAME_KEY)).toPath();
Files.copy(stream, outputFile);
}
};
context.set(PDFParser.class, parser);
context.set(EmbeddedDocumentExtractor.class,embeddedDocumentExtractor);
try (InputStream stream = new ByteArrayInputStream(content)) {
parser.parse(stream, handler, metadata, context);
}
return handler;
}
[티카-1268 (https://issues.apache.org/jira/browse/TIKA-1268) 및 [티카-1396 (https://issues.apache.org/jira/browse/TIKA-1396)은 모두 1.6으로 고정되어 표시되었습니다. 실제로이 경우 Tika 1.6을 사용하고 있습니까? – Gagravarr
웹 사이트에서 1.6이라고 표시된 것과 tika-app-1.6.jar라고하면 실제로 Tika 1.6이라고 가정하고 그렇습니다. –
그리고 이미지 추출을 테스트하기 위해'--extract' 플래그로 Tika 앱을 사용하고 있습니까? – Gagravarr