Я хочу удалить всю таблицу в файле RTF. Я пытался использовать Apache Tika для чтения документа RTF, но вывод не может показать, находится ли содержимое в таблице.
Пока что я попробовал следующие подходы:
1. Переведите rtf в html, используя функцию HTMLparser в apahce tika. Содержимое таблицы обернуто
...
. Не могу показать, что это таблица.
2. Использование TXTParser для получения содержимого rtf. Содержимое таблицы не может быть отображено в обработчике. Ниже приведен код этого подхода.
3.Используйте программное обеспечение снаружи, чтобы превратить файл RTF в HTML, но все еще не можете показать, является ли оно таблицей.
package crm;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.tika.exception.TikaException;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.metadata.TikaCoreProperties;
import org.apache.tika.parser.ParseContext;
import org.apache.tika.parser.html.HtmlParser;
import org.apache.tika.parser.rtf.RTFParser;
import org.apache.tika.parser.txt.TXTParser;
import org.apache.tika.sax.BodyContentHandler;
import org.xml.sax.SAXException;
import org.apache.tika.parser.AutoDetectParser;
public class ReadContent {
public static void main(final String[] args) throws IOException,TikaException, SAXException
{
//detecting the file type
BodyContentHandler handler = new BodyContentHandler(-1);
Metadata metadata = new Metadata();
FileInputStream inputstream = new FileInputStream(new File("format/sample.rtf"));
ParseContext pcontext = new ParseContext();
//Text document parser
TXTParser TXTParser = new TXTParser();
TXTParser.parse(inputstream, handler, metadata,pcontext);
System.out.println(handler.toString());
}
}