2015-01-06 4 views
0

Я хотел бы знать, возможно ли использовать файл PDF без какой-либо библиотеки.Как добавить водяной знак в файл PDF в чистом JAVA?

Мне удалось сделать это с помощью iText, но я бы хотел сделать водяные знаки в чистом JAVA.

Если кто-то знает, если и как это возможно, сообщите мне.

ответ

0

В теории? Да. Большинство библиотек Java, которые могут создавать водяные знаки, возможно, написаны на чистой Java, поэтому вы можете написать эту функциональность самостоятельно.

Практически? Я не знаю, пожалуйста, поправьте меня, если я ошибаюсь, какие-либо основные библиотеки, которые позволят вам манипулировать PDF-файлами таким образом, чтобы вы могли либо поработать над копированием части функций iTexts, либо просто используйте библиотеку.

+0

Хорошо спасибо. Итак, я проверю исходный код itext, чтобы узнать, как это работает. Я покажу вам свои впечатления, когда найду. Thx для вашей реактивности. – Bouny

+0

Добро пожаловать. Хотя честно, я не понимаю, почему вы не хотите использовать библиотеку; зачем изобретать колесо, если оно уже существует? – blalasaadri

+1

По двум причинам: сначала я хочу знать, как это работает для моих личных знаний. Во-вторых, речь идет о коммерческой лицензии. Я хочу использовать это в коммерческом программном обеспечении, публикация исходного кода этого софта невозможна. Итак, я хотел знать, чтобы избежать коммерческой лицензии itext для моего клиента. Но, взглянув на код iText, я думаю, что цена на эту функцию будет выше, чем коммерческая лицензия. Так что спасибо за ваш полезный ответ. – Bouny

0

Водяной знак в pdf можно добавить с помощью библиотеки Java iText.

Вот пример того, как использовать его:

PdfReader reader = new PdfReader("HelloWorld.pdf"); 
PdfStamper pdfStamper = new PdfStamper(reader, 
    new FileOutputStream("NewHelloWorld.pdf")); 
Image image = Image.getInstance("MyWatermark.png"); 

for(int i=1; i<= reader.getNumberOfPages(); i++){ 
    PdfContentByte content = pdfStamper.getUnderContent(i); 
    image.setAbsolutePosition(150f, 750f); 
    content.addImage(image); 
} 

pdfStamper.close(); 
+0

Пример: http://itextpdf.com/sandbox/events/Watermarking – theJango

+0

Спасибо за ваш ответ, но я знаю, что это возможно с iText, и, как я уже сказал, я уже создаю код с iText. – Bouny

Смежные вопросы