Файл PDF зазвичай складається з тексту, зображення, заголовка, анотацій та інших елементів. І оскільки цей формат зберігає макет документа на різних платформах (настільний комп’ютер, мобільний тощо), його широко використовують для обміну інформацією через Інтернет. Однак нам може знадобитися витягти текстовий вміст документа PDF для подальшої обробки. Тож у цій статті ми збираємося обговорити деталі того, як витягти текст із PDF за допомогою Java Cloud SDK. Після завершення операції вихідні дані зберігаються у форматі TXT.
API перетворення PDF у TXT
Aspose.PDF Cloud SDK for Java – це наше відзначене нагородами рішення REST API, яке пропонує можливості створювати, редагувати та конвертувати PDF у JPG, XPS, HTML, DOCX і ряд інших підтримуваних форматів. Тепер, щоб реалізувати можливості розпізнавання тексту PDF у додатку Java, додайте наступні деталі в pom.xml проекту типу збірки maven.
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>http://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf-cloud</artifactId>
<version>21.11.0</version>
</dependency>
</dependencies>
Після встановлення SDK наступним важливим кроком є створення безкоштовного облікового запису в Aspose Cloud. Тому, будь ласка, увійдіть, використовуючи щойно створений обліковий запис, і знайдіть/створіть ідентифікатор клієнта та секрет клієнта на Cloud Dashboard. Ці деталі є обов’язковими в наступних розділах.
PDF в текст на Java
Будь ласка, виконайте наведені нижче кроки, щоб виконати перетворення PDF у текстовий за допомогою Java Cloud SDK. Тому після успішного перетворення отриманий файл TXT зберігається в хмарному сховищі.
- Спочатку нам потрібно створити об’єкт PdfApi, надаючи ClientID і Client secret як аргументи
- По-друге, завантажте вхідний файл PDF за допомогою екземпляра File
- Завантажте вхідний PDF-файл у хмарне сховище за допомогою методу uploadFile(…).
- Створіть цілочисельну змінну, що вказує номер сторінки PDF-файлу для вилучення тексту та подвійні екземпляри, що вказують на прямокутну область сторінки, з якої нам потрібно витягти текстовий вміст
- Нарешті, викличте метод getPageText(…), щоб отримати текстовий вміст із вхідного PDF-файлу
try
{
// Отримайте ClientID і ClientSecret з https://dashboard.aspose.cloud/
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
// створити екземпляр PdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// назва вхідного документа PDF
String inputFile = "marketing.pdf";
// прочитати вміст вхідного файлу PDF
File file = new File("//Users//"+inputFile);
// завантажити PDF в хмарне сховище
pdfApi.uploadFile("input.pdf", file, null);
// певну сторінку PDF для перетворення
int pageNumber =1;
// X-координата лівого нижнього кута
Double LLX = 0.0;
// Y - координата нижнього лівого кута.
Double LLY = 0.0;
// X - координата правого верхнього кута.
Double URX = 800.0;
// Y - координата правого верхнього кута.
Double URY = 800.0;
// виклик API для перетворення PDF на текст
TextRectsResponse response = pdfApi.getPageText(inputFile, pageNumber, LLX, LLY, URX, URY, null, null, true, null, "default");
// отриманий екземпляр файлу TXT
FileWriter myWriter = new FileWriter("filename.txt");
// Тепер перейдіть до окремого тексту, щоб отримати результат друку на консолі
for(int counter=0; counter <=response.getTextOccurrences().getList().size()-1; counter++)
{
// записати текстовий вміст у файл TXT
myWriter.write(response.getTextOccurrences().getList().get(counter).getText());
}
// закрийте обробник TXT
myWriter.close();
System.out.println("Text successfully extracted from PDF !");
}catch(Exception ex)
{
System.out.println(ex);
}
Зразок PDF-файлу, використаного у прикладі вище, можна завантажити з marketing.pdf і extracted.txt
Витягніть текст із PDF за допомогою команд cURL
До API REST можна легко отримати доступ за допомогою команд cURL, тому в цьому розділі ми збираємося дослідити варіант того, як ми можемо витягти текстовий вміст із PDF за допомогою команд cURL. Отже, як попередню умову, нам спочатку потрібно створити маркер доступу JWT (на основі облікових даних клієнта) під час виконання наступної команди.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
Отримавши маркер JWT, нам потрібно виконати наступну команду, щоб витягти всі текстові випадки в PDF-документі.
curl -v -X GET "https://api.aspose.cloud/v3.0/pdf/input.pdf/text?splitRects=true&LLX=0&LLY=0&URX=800&URY=800" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
Висновок
У цій статті описано, як конвертувати PDF у TXT за допомогою Java Cloud SDK. Водночас ми також дослідили варіанти видобування тексту з PDF за допомогою команд cURL. Тож завдяки гнучкості переміщення між кількома сторінками PDF ми отримуємо контроль над тим, куди видобувати вміст. Ми настійно рекомендуємо вам ознайомитися з продуктом Документація, щоб дізнатися більше про інші захоплюючі функції, які пропонує Java Cloud API. Крім того, оскільки всі наші Cloud SDK публікуються за ліцензією MIT, ви можете завантажити повний вихідний код із GitHub і змінити його відповідно до своїх вимог. У разі будь-яких проблем ви можете звернутися до нас за швидким вирішенням через безкоштовний форум підтримки продуктів.
Схожі статті
Перейдіть за наведеними нижче посиланнями, щоб дізнатися більше про: