public class ImageRecognition {
public static void main(String[] args) throws Exception {
PDDocument document = PDDocument.load(new File("path_to_your_file.pdf"));
PDPage page = document.getPage(0);
PDPageContentStream contentStream = new PDPageContentStream(document, page);
PDImageXObject pdImage = PDImageXObject.createImage(new File("path_to_your_image.png"), document);
contentStream.drawImage(pdImage, 100, 500);
contentStream.close();
document.save("path_to_your_file_with_image.pdf");
document.close();
}
}
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
import org.apache.pdfbox.pdmodel.font.PDType1Font;
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
public class WatermarkExample {
public static void main(String[] args) throws Exception {
PDDocument document = PDDocument.load(new File("path_to_your_file.pdf"));
PDPage page = document.getPage(0);
PDPageContentStream contentStream = new PDPageContentStream(document, page, PDPageContentStream.AppendMode.APPEND, true, true);
contentStream.setFont(PDType1Font.HELVETICA_BOLD, 48);
contentStream.setStrokingColor(Color.GRAY);
contentStream.beginText();
contentStream.newLineAtOffset(100, 500);
contentStream.showText("Водяной знак");
contentStream.endText();
contentStream.close();
document.save("path_to_your_file_with_watermark.pdf");
document.close();
}
}
``````java
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
import org.apache.pdfbox.pdmodel.font.PDType1Font;
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
public class WatermarkAddition {
public static void main(String[] args) throws Exception {
PDDocument document = PDDocument.load(new File("path_to_your_file.pdf"));
PDPage page = document.getPage(gst);
PDPageContentStream contentStream = new PDPageContentStream(document, page, PDPageContentStream.AppendMode.APPEND, true, true);
contentStream.setFont(PDType1Font.HELVETICA_BOLD, 48);
contentStream.setStrokingColor(Color.GRAY);
contentStream.beginText();
contentStream.newLineAtOffset(100, 500);
contentStream.showText("Водяной знак");
contentStream.endText();
contentStream.close();
document.save("path_to_your_file_with_watermark.pdf");
document.close();
}
}
## Зависимости
Исправления:
0
на gst
(возможно, ошибка в исходном коде).<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-core</artifactId>
<version>1.24.1</version>
</dependency>
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-parsers</artifactId>
<version>1.24.1</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.24</version>
</dependency>
Эти примеры демонстрируют базовые функции, которые можно использовать для распознавания текста, изображений и добавления водяных знаков в документах PDF.
Отсутствующий jar файл версии 2.2.2 можно найти в файле mvn.txt в папке jar (запуск может требовать административных прав).Установка описана в файле .md в папке software.
После установки OpenOffice запустите командную строку от имени администратора и перейдите в папку C:\Program Files (x86)\OpenOffice 4\program.
Введите следующую команду, чтобы запустить службу OpenOffice в Windows:
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
https://codechina.csdn.net/mirrors/tesseract-ocr/tessdata
С помощью вышеуказанной ссылки вы можете найти tessdata_master. Если вам лень, вы можете просто положить его в папку.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )