import java.io.File;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.encryption.InvalidPasswordException;
import org.apache.pdfbox.text.PDFTextStripper;
public class sample {
public static void main(String[] args) throws InvalidPasswordException, IOException {
File file = new File("C:\\sample.pdf");
PDDocument document = PDDocument.load(file);
PDFTextStripper stripper = new PDFTextStripper();
String text = stripper.getText(document);
//java.io.PrintStream p = new java.io.PrintStream(System.out,false,"Cp921");
//p.println(text.toString());
System.out.println(text);
}
}
Текст читается из pdf, но при отображении с использованием System.out.println
он показывает другой вывод.Затем я прочитал различные посты в Интернете и обнаружил, что это как-то связано с кодировкой, и нашел решение по этому вопросу: Текст, извлеченный из PDFBox, не содержит международных (не английских) символов , но мне пришлось использоватькодировка Cp921 для латышских символов, но проблема все еще не решена, и выходные данные приведены на этом изображении
Затем я прошел процесс отладки и обнаружил, что текст, прочитанный из PDF, хранится в точной кодировке безлюбые изменения, поэтому я не знаю, как отобразить текст с правильной кодировкой.Любая помощь будет благодарна заранее.
Образец содержимого PDF: [Maksātājs, Informācija, Vārdu krājums, Ēģipte, Plašs, Vājš, Brieži, Pērtiķi, Grāmatiņa, šķīvis]
Вывод на консольЗатмение с использованием System.out.println
:
Вывод на консоль при затмении с использованием PrintStream
:
PS Я начинающий программисти у меня не так много опыта в кодировании