Czy istnieje sposób edycji pliku PDF z Java?
Mam dokument PDF, który zawiera symbole zastępcze dla tekstu, który należy zastąpić przy użyciu języka Java, ale wszystkie biblioteki, które widziałem, utworzono plik PDF od podstaw i małą funkcjonalność edycji.
Czy mogę mimo to edytować plik PDF lub jest to niemożliwe?Edycja tekstu w formacie PDF za pomocą Java
20
A
Odpowiedz
11
Możesz to zrobić pod numerem iText. Przetestowałem to za pomocą następującego kodu. Dodaje fragment tekstu i czerwone kółko na każdej stronie istniejącego pliku PDF.
/* requires itextpdf-5.1.2.jar or similar */
import java.io.*;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.pdf.*;
public class AddContentToPDF {
public static void main(String[] args) throws IOException, DocumentException {
/* example inspired from "iText in action" (2006), chapter 2 */
PdfReader reader = new PdfReader("C:/temp/Bubi.pdf"); // input PDF
PdfStamper stamper = new PdfStamper(reader,
new FileOutputStream("C:/temp/Bubi_modified.pdf")); // output PDF
BaseFont bf = BaseFont.createFont(
BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); // set font
//loop on pages (1-based)
for (int i=1; i<=reader.getNumberOfPages(); i++){
// get object for writing over the existing content;
// you can also use getUnderContent for writing in the bottom layer
PdfContentByte over = stamper.getOverContent(i);
// write text
over.beginText();
over.setFontAndSize(bf, 10); // set font and size
over.setTextMatrix(107, 740); // set x,y position (0,0 is at the bottom left)
over.showText("I can write at page " + i); // set text
over.endText();
// draw a red circle
over.setRGBColorStroke(0xFF, 0x00, 0x00);
over.setLineWidth(5f);
over.ellipse(250, 450, 350, 550);
over.stroke();
}
stamper.close();
}
}
3
Spójrz na iText i this sample code
+0
Niestety ten przykład wymaga pól w istniejącym pliku PDF. Zobacz moją odpowiedź. – bluish
-1
można zrobić ograniczoną edycję z itext ale PDF jest formatem pliku end, więc nie można zrobić niczego zbyt skomplikowany. Napisałem artykuł wyjaśniający niektóre z ograniczeń: PDF format and style information.
2
Powiązane problemy
- 1. Wypełnienie szablonu formularza PDF za pomocą tekstu w formacie iTekstSharp
- 2. Edycja strony pdf za pomocą pdfbox
- 3. Crystal Reports Wycinanie tekstu w formacie PDF
- 4. Wyszukiwanie tekstu w pliku PDF za pomocą języka Python?
- 5. Tworzenie pakietu R Podręcznik w formacie PDF za pomocą devtools
- 6. Wyszukaj konkretne słowo w formacie PDF za pomocą Itextsharp
- 7. Wyodrębnianie tekstu w formacie PDF w Objective C
- 8. Wyodrębnianie tekstu z pliku PDF za pomocą PDFMiner w python?
- 9. iOS: Jak ustawić czcionkę podczas rysowania tekstu w formacie PDF?
- 10. Edycja * istniejącego * pliku PDF w przeglądarce
- 11. Kopiowanie tekstu do schowka za pomocą Java
- 12. Edycja pdf do modyfikowania nagłówka
- 13. Edycja istniejącego pliku PDF używając FPDF
- 14. uzyskać akapit tekstu z pdf za pomocą itextsharp
- 15. Przeczytaj pdf za pomocą iText
- 16. Wyświetl obraz w formacie pdf
- 17. Kreator Qt: edycja tekstu wieloliniowego
- 18. Czy istnieją jakieś alternatywy tworzenia plików PDF w formacie Java PDF do iText?
- 19. Niestandardowa edycja ostrości za pomocą klawiatury Android
- 20. Wspólna edycja tekstu w aplikacji internetowej
- 21. Litery cyrylicy nie wyświetlają się w formacie PDF wygenerowanym za pomocą iText w Androidzie
- 22. Indeksowanie dokumentów programu Word i plików PDF za pomocą Sphinx
- 23. Dane w formacie HTML za pomocą PHP
- 24. Tworzenie raportów PDF za pomocą wykresu flot
- 25. Rozłożenie linii tekstu w formacie RTF
- 26. Renderowanie pliku PDF za pomocą Java na Androida
- 27. Czcionka osadzania IOS w formacie PDF
- 28. Obsługa stron w formacie PDF w PhantomJS
- 29. Wyodrębnij współrzędne prostokątu tekstu i tekstu z pliku Pdf za pomocą itextsharp
- 30. Eksportuj rejestr w formacie zwykłego tekstu
Ten przykład nakłada stronę na nowy tekst i elipsę. Czy istnieje sposób modyfikacji tekstu w miejscu? Czy istnieje sposób na wyszukanie, powiedzmy tokena i * zastąpienie * go moim tekstem, a nie nałożenie go? – Vihung
Dobrze, chciałbym też o tym wiedzieć! – bluish
błąd ....... Błąd sygnału 7 (SIGBUS), kod 2, adres błędu 0xa290903f w tid 25590 (om.pdfgenerator) –