У меня есть файл в формате RTF, который имеет некоторый текст с пулями, как показано на скриншоте нижекак читать пули из RTF-файла
Я хочу, чтобы извлечь данные вместе с пулями, но при печати в консоли я получаю ненужные значения. Как я точно печатаю с консоли. Как я пытался как ниже
public static void main(String[] args) throws IOException, BadLocationException {
RTFEditorKit rtf = new RTFEditorKit();
Document doc = rtf.createDefaultDocument();
FileInputStream fis = new FileInputStream("C:\\Users\\Guest\\Desktop\\abc.rtf");
InputStreamReader i =new InputStreamReader(fis,"UTF-8");
rtf.read(i,doc,0);
System.out.println(doc.getText(0,doc.getLength()));
}
Консоли вывода:
я предположил значение бросового обусловлено не утешает поддержку chareset поэтому я попытался создать файл в формате PDF, но в формате PDF также Я получаю одинаковые значения мусора. это код PDF
Paragraph de=new Paragraph();
Phrase pde=new Phrase();
pde.add(new Chunk(getText("C:\\Users\\Guest\\Desktop\\abc.rtf"),smallNormal_11));
de.add(pde);
de.getFont().setStyle(BaseFont.IDENTITY_H);
document.add(de);
public static String getText() throws IOException, BadLocationException {
RTFEditorKit rtf = new RTFEditorKit();
Document doc = rtf.createDefaultDocument();
FileInputStream fis = new FileInputStream("C:\\Users\\Guest\\Desktop\\abc.rtf");
InputStreamReader i =new InputStreamReader(fis,"UTF-8");
rtf.read(i,doc,0);
String output=doc.getText(0,doc.getLength());
return output;
}
Вместо того чтобы писать что-то сложное, как PDF-файл, напишите то же самое, что и ваш вывод в консольный текстовый файл UTF-8, затем перетащите этот файл, чтобы увидеть фактические значения, которые записываются. –
Я удалил тег 'itext' (отредактировал ожидающее одобрение модератора), потому что ваш вопрос не о iText. Речь идет о RTF. Стивен абсолютно прав. Разделите свою проблему, сначала убедитесь, что она работает в консоли, прежде чем вы даже начнете думать о PDF. –
Я думаю, что он попытался перейти на PDF, чтобы обойти проблему, это не его конечная цель. – Asoub