Dodawanie własnych notatek lub znaków wodnych często wymaga dodania tekstu do PDF w aplikacjach Java. Conholdate.Total for Java to potężny SDK, który umożliwia programistom edytowanie plików PDF programowo. Ten przewodnik przeprowadzi Cię przez wymagania wstępne, szczegółowy przegląd kodu oraz kompletny przykład, dzięki czemu z łatwością nałożysz własny tekst na istniejące pliki PDF.
Wymagania wstępne i konfiguracja
Zanim rozpoczniesz, upewnij się, że masz następujące:
- Java 8 lub nowszy zainstalowany.
- Maven do zarządzania zależnościami.
- IDE, takie jak IntelliJ IDEA lub Eclipse.
- Ważna licencja Conholdate.Total for Java do użytku produkcyjnego (zobacz sekcję licencjonowania później).
Dodaj repozytorium Maven Conholdate oraz zależność SDK do swojego pom.xml:
<repositories>
<repository>
<id>conholdate-repo</id>
<name>Conholdate Maven Repository</name>
<url>https://repository.conholdate.com/repo/</url>
</repository>
</repositories>
<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>24.9</version>
<type>pom</type>
</dependency>
Pobierz najnowsze pliki binarne SDK ze strony pobierania. Po pomyślnym zakończeniu kompilacji Maven jesteś gotowy, aby rozpocząć kodowanie. Następny rozdział pokazuje dokładnie, jak załadować plik PDF i wstawić tekst.
Dodaj tekst do PDF w Javie: Przewodnik krok po kroku
Poniżej znajduje się zwięzły opis każdego kroku logicznego. Pełny kod źródłowy zostanie ponownie przedstawiony później w sekcji Pełny przykład kodu.
Krok 1: Otwórz PDF i utwórz TextBuilder
Najpierw otwórz źródłowy PDF przy użyciu klasy Document, a następnie utwórz TextBuilder wskazujący na stronę, do której chcesz dodać tekst.
String dataDir = "path/to/your/document/directory/";
// Open document
Document doc = new Document(dataDir + "Conholdate.pdf");
TextBuilder builder = new TextBuilder(doc.getPages().get_Item(1));
Klasy Document i TextBuilder są udokumentowane w referencji API.
Krok 2: Utwórz i skonfiguruj TextParagraph
Utwórz TextParagraph i skonfiguruj jego układ: wcięcie stosowane do kolejnych wierszy, prostokąt ograniczający obszar tekstu na stronie oraz tryb zawijania tekstu.
// Create text paragraph
TextParagraph paragraph = new TextParagraph();
// Set subsequent lines indent
paragraph.setSubsequentLinesIndent(20);
// Specify the location to add TextParagraph
paragraph.setRectangle(new Rectangle(100, 300, 200, 700));
// Specify word wrapping mode
paragraph.getFormattingOptions().setWrapMode(TextFormattingOptions.WordWrapMode.ByWords);
Krok 3: Utwórz TextFragment i skonfiguruj czcionkę
Utwórz TextFragment zawierający tekst, który chcesz nałożyć, a następnie ustaw jego czcionkę i rozmiar czcionki za pomocą getTextState().
// Create text fragment
TextFragment fragment1 = new TextFragment("the quick brown fox jumps over the lazy dog");
fragment1.getTextState().setFont(FontRepository.findFont("Times New Roman"));
fragment1.getTextState().setFontSize(12);
Krok 4: Dołącz fragment i akapit
Dodaj fragment tekstu jako wiersz wewnątrz akapitu, a następnie dołącz akapit do strony za pomocą TextBuilder.
// Add fragment to paragraph
paragraph.appendLine(fragment1);
// Add paragraph
builder.appendParagraph(paragraph);
Krok 5: Zapisz zmodyfikowany PDF
Na koniec zbuduj ścieżkę wyjściową i zapisz powstały dokument.
dataDir = dataDir + "AddText_out.pdf";
// Save resulting PDF document.
doc.save(dataDir);
Po wykonaniu tych kroków zakończyłeś przepływ pracy wstawiania tekstu do pliku PDF.
Pełny przykład kodu: wstawianie tekstu do PDF w Javie
Poniższy przykład demonstruje cały proces od wczytania pliku źródłowego do zapisania zaktualizowanego pliku PDF.
Ten przykład pokazuje, jak dodać tekst do istniejącego pliku PDF przy użyciu Conholdate.Total for Java.
import com.aspose.pdf.Document;
import com.aspose.pdf.TextBuilder;
import com.aspose.pdf.TextParagraph;
import com.aspose.pdf.Rectangle;
import com.aspose.pdf.TextFormattingOptions;
import com.aspose.pdf.TextFragment;
import com.aspose.pdf.FontRepository;
public class AddTextToPdf {
public static void main(String[] args) {
String dataDir = "path/to/your/document/directory/";
// Open document
Document doc = new Document(dataDir + "Conholdate.pdf");
TextBuilder builder = new TextBuilder(doc.getPages().get_Item(1));
// Create text paragraph
TextParagraph paragraph = new TextParagraph();
// Set subsequent lines indent
paragraph.setSubsequentLinesIndent(20);
// Specify the location to add TextParagraph
paragraph.setRectangle(new Rectangle(100, 300, 200, 700));
// Specify word wrapping mode
paragraph.getFormattingOptions().setWrapMode(TextFormattingOptions.WordWrapMode.ByWords);
// Create text fragment
TextFragment fragment1 = new TextFragment("the quick brown fox jumps over the lazy dog");
fragment1.getTextState().setFont(FontRepository.findFont("Times New Roman"));
fragment1.getTextState().setFontSize(12);
// Add fragment to paragraph
paragraph.appendLine(fragment1);
// Add paragraph
builder.appendParagraph(paragraph);
dataDir = dataDir + "AddText_out.pdf";
// Save resulting PDF document.
doc.save(dataDir);
}
}
Uwaga: Ten przykład kodu demonstruje podstawową funkcjonalność. Przed użyciem go w swoim projekcie upewnij się, że zaktualizowałeś
dataDir, aby wskazywał na rzeczywisty katalog dokumentów (zawierającyConholdate.pdf), sprawdź, czy wszystkie wymagane zależności są poprawnie zainstalowane, i dokładnie przetestuj w swoim środowisku programistycznym. Jeśli napotkasz jakiekolwiek problemy, odwołaj się do oficjalnej dokumentacji lub skontaktuj się z zespołem wsparcia w celu uzyskania pomocy.
Wnioski
W tym samouczku pokazaliśmy, jak dodać tekst do pliku PDF w Javie, korzystając z solidnych funkcji Conholdate.Total for Java. Postępując zgodnie z krok‑po‑kroku przewodnikiem, możesz niezawodnie tworzyć akapity tekstu przy użyciu TextBuilder i TextParagraph, kontrolować styl czcionki za pomocą TextFragment oraz zapisać zmodyfikowany dokument. SDK obsługuje współrzędne stron PDF i renderowanie tekstu wewnętrznie, dzięki czemu możesz skupić się na logice biznesowej. Pamiętaj, aby uzyskać odpowiednią licencję do użytku produkcyjnego; tymczasową licencję możesz uzyskać na stronie tymczasowej licencji lub zapoznać się z opcjami cenowymi na stronie cenowej. Mając te narzędzia pod ręką, wzbogacanie plików PDF o własny tekst staje się prostą częścią Twojej aplikacji Java.
FAQs
Jak dodać tekst do PDF w Javie bez nadpisywania istniejącej zawartości?
Użyjbuilder.appendParagraph(paragraph)jak pokazano w przykładzie;TextBuilderdodaje nowy akapit do docelowej strony, zachowując istniejącą zawartość.Czy można dodać własny tekst znaku wodnego do PDF w Javie?
Tak. To samo podejście działa dla znaków wodnych — utwórzTextFragmentz żądanym tekstem znaku wodnego, skonfiguruj odpowiednią czcionkę i rozmiar (lub przezroczystość za pomocą stanu tekstu) i dodaj go poprzezTextParagraphna każdej stronie.Co powinienem zrobić, jeśli wstawiony tekst nie wyświetla się poprawnie dla niektórych języków?
Wybierz czcionkę obsługującą wymagany zestaw znaków przy użyciuFontRepository.findFont(). SDK respektuje ustawienia czcionki zastosowane za pomocągetTextState(), a dokumentacja zawiera wskazówki dotyczące obsługi różnych skryptów.Czy mogę przetwarzać wsadowo wiele plików PDF, aby dodać ten sam tekst?
Oczywiście. Umieść kod w pętli, która iteruje po liście ścieżek do plików, ponownie używając tej samej logikiDocument/TextBuilderdla każdego pliku.
