Opanowanie podstaw zastępowania czcionek w GroupDocs.Conversion dla Javy

W tym obszernej tutorialu odkryjesz jak konwertować notatkę do pdf przy użyciu GroupDocs.Conversion dla Javy, jednocześnie elegancko obsługując brakujące czcionki. Przejdziemy przez konfigurację Maven, ustawienia zastępowania czcionek oraz strategię awaryjną, aby Twoje pliki PDF wyglądały identycznie na każdym systemie operacyjnym. Po zakończeniu będziesz mógł wbudować ten przepływ konwersji w dowolną usługę Java lub zadanie wsadowe.

Szybkie odpowiedzi

  • Jaki jest główny cel zastępowania czcionek? Zastępuje ona niedostępne czcionki tymi, które określisz, zachowując spójny wygląd dokumentu.
  • Która biblioteka obsługuje konwersję? GroupDocs.Conversion for Java.
  • Czy potrzebuję licencji do produkcji? Tak – wymagana jest pełna licencja lub tymczasowa.
  • Czy mogę ustawić domyślną czcionkę dla nieznanych przypadków? Oczywiście, używając setDefaultFont() w NoteLoadOptions.
  • Czy jest kompatybilny z JDK 8 i wyższymi? Tak, biblioteka obsługuje Java 8+.

Co to jest „convert note to pdf”?

convert note to pdf to proces przekształcania formatów plików notatek (np. .ONE, .ENEX) w PDF, który może być otwarty na dowolnym urządzeniu bez specjalnego oprogramowania.
Ta konwersja często napotyka problemy z brakującymi czcionkami, ponieważ źródłowa notatka może odwoływać się do czcionek, które nie są zainstalowane na docelowym komputerze. Zastępowanie czcionek rozwiązuje to, mapując brakujące czcionki na dostępne, zapewniając wierność wizualną.

Dlaczego warto używać GroupDocs.Conversion dla Javy?

GroupDocs.Conversion dla Javy zapewnia automatyczną obsługę czcionek dla ponad 50 + formatów wejściowych i wyjściowych i może przetwarzać dokumenty liczące setki stron bez ładowania całego pliku do pamięci. Biblioteka dostarcza wysokiej wierności wyjście PDF, zużywa mniej niż 150 MB pamięci heap dla notatki o 300 stronach i integruje się poprzez jedną zależność Maven, co czyni ją gotową do produkcji opcją dla programistów Java.

Wymagania wstępne

  • Java Development Kit (JDK) version 8 lub wyższa.
  • IDE, takie jak IntelliJ IDEA lub Eclipse.
  • Maven zainstalowany do zarządzania zależnościami.
  • Podstawowa znajomość Javy i koncepcji konwersji dokumentów.

Konfiguracja GroupDocs.Conversion dla Javy

Dodaj repozytorium GroupDocs i zależność do swojego pom.xml:

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/conversion/java/</url>
   </repository>
</repositories>
<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-conversion</artifactId>
      <version>25.2</version>
   </dependency>
</dependencies>

Uzyskanie licencji

GroupDocs oferuje darmowy 30‑dniowy trial oraz tymczasowe licencje do testów, lub możesz zakupić pełną licencję do użytku produkcyjnego.

  1. Bezpłatna wersja próbna: Pobierz z here.
  2. Tymczasowa licencja: Zamów ją pod this link.
  3. Zakup: Dla długoterminowych rozwiązań, zakup licencję here.

Jak zastępować czcionki podczas convert note to pdf

Aby zastąpić czcionki podczas konwersji, musisz utworzyć i skonfigurować opcje ładowania, które mapują brakujące czcionki na dostępne zamienniki oraz określić czcionkę awaryjną. To zapewnia, że każdy znak zostanie poprawnie wyrenderowany, nawet gdy oryginalna czcionka nie jest obecna w systemie.

Krok 1: Konfiguracja zastąpień czcionek

NoteLoadOptions konfiguruje sposób ładowania pliku notatki, w tym ustawienia zastępowania czcionek. Utwórz obiekt NoteLoadOptions, zdefiniuj pary czcionek, które chcesz zamienić, i ustaw czcionkę awaryjną dla niepasujących przypadków:

import com.groupdocs.conversion.Converter;
import com.groupdocs.conversion.options.convert.PdfConvertOptions;
import com.groupdocs.conversion.options.load.NoteLoadOptions;
import com.groupdocs.conversion.contracts.FontSubstitute;

// Create font substitution options
NoteLoadOptions loadOptions = new NoteLoadOptions();
List<FontSubstitute> fontSubstitutes = new ArrayList<>();
fontSubstitutes.add(FontSubstitute.create("Tahoma", "Arial")); // Substitute Tahoma with Arial
fontSubstitutes.add(FontSubstitute.create("Times New Roman", "Arial")); // Substitute Times New Roman with Arial
loadOptions.setFontSubstitutes(fontSubstitutes);

// Set the default font for unhandled substitutions
defaultFont = "YOUR_DOCUMENT_DIRECTORY/terminal-grotesque_open.otf";
  • NoteLoadOptions – Klasa NoteLoadOptions jest punktem wejścia do konfigurowania sposobu ładowania plików notatek, w tym ustawień zastępowania czcionek.
  • FontSubstitute.create()FontSubstitute.create() tworzy mapowanie, które informuje konwerter, której czcionki zamienną użyć, gdy oryginalna czcionka jest nieobecna.
  • setDefaultFont()setDefaultFont() definiuje czcionkę awaryjną, którą silnik zastosuje, gdy nie istnieje explicite mapowanie, zapewniając, że żadne znaki nie pozostaną niewyświetlone.

Krok 2: Konwersja dokumentu do PDF

Converter jest głównym komponentem wykonującym konwersję przy użyciu podanych opcji ładowania. Przekaż skonfigurowane opcje ładowania do Converter i wykonaj konwersję:

// Initialize Converter with specified load options
converter = new Converter("YOUR_DOCUMENT_DIRECTORY/sample_note_document", () -> loadOptions);

// Set PDF conversion options
pdfOptions = new PdfConvertOptions();

// Perform conversion
coder.convert("YOUR_OUTPUT_DIRECTORY/converted_note.pdf", pdfOptions);
  • Converter – Klasa Converter jest podstawowym komponentem GroupDocs, który ładuje plik źródłowy przy użyciu podanych opcji i przygotowuje go do konwersji.
  • convert() – Metoda convert() zapisuje plik PDF w docelowej lokalizacji, stosując wszystkie zdefiniowane reguły zastępowania czcionek.

Konwersja dokumentu notatki do PDF (bez własnych czcionek)

Jeśli po prostu potrzebujesz java document to pdf bez własnych zamian, kroki są jeszcze krótsze:

// Initialize Converter for a given document
converter = new Converter("YOUR_DOCUMENT_DIRECTORY/sample_note_document");
pdfOptions = new PdfConvertOptions(); // Configure conversion options
converter.convert("YOUR_OUTPUT_DIRECTORY/converted_note.pdf", pdfOptions);

Praktyczne zastosowania

  1. Document Sharing – Wysyłaj PDF-y, które wyglądają identycznie na Windows, macOS lub Linux.
  2. Archiving – Zachowaj wierność wizualną starszych plików notatek w celu zgodności.
  3. Cross‑Platform Compatibility – Zapewnij, że każdy interesariusz widzi te same czcionki, niezależnie od zainstalowanych krojów.

Możliwości integracji

Możesz osadzić ten przepływ konwersji w systemie zarządzania treścią przedsiębiorstwa, mikro‑serwisie przetwarzającym przesyłane pliki lub zadaniu wsadowym migrującym archiwa starszych notatek do PDF.

Rozważania dotyczące wydajności

  • Memory Management – Strumieniuj duże pliki zamiast ładować je w całości do pamięci.
  • Caching – Buforuj często używane pliki czcionek, aby uniknąć powtarzających się operacji I/O na dysku.
  • Java Best Practices – Dostosuj garbage collector i ponownie używaj instancji Converter, gdy to możliwe.

Typowe problemy i rozwiązania

ProblemPrawdopodobna przyczynaRozwiązanie
Brak czcionki po konwersjiNie zdefiniowano zastąpienia dla czcionkiDodaj wpis FontSubstitute lub ustaw odpowiednią domyślną czcionkę.
NullPointerException przy loadOptionsloadOptions nie przekazano do ConverterUpewnij się, że używasz lambdy () -> loadOptions przy tworzeniu Converter.
Wolna konwersja dużych plikówŁadowanie całego dokumentu do pamięciUżyj API strumieniowych lub odpowiednio zwiększ rozmiar heap JVM.

Najczęściej zadawane pytania

Q: Czy mogę zastąpić wiele czcionek jednocześnie?
A: Tak, dodaj wiele wpisów FontSubstitute do listy fontSubstitutes.

Q: Co się stanie, jeśli domyślna czcionka nie zostanie znaleziona?
A: Konwersja przechodzi do domyślnej czcionki systemowej, która może się różnić w zależności od platformy.

Q: Jak rozwiązać problemy z błędami konwersji?
A: Zweryfikuj ścieżki plików, upewnij się, że wszystkie zależności Maven są rozwiązane, i sprawdź konsolę pod kątem śladów stosu.

Q: Czy GroupDocs.Conversion jest kompatybilny ze wszystkimi wersjami Javy?
A: Obsługuje JDK 8 i wyższe.

Q: Czy zastępowanie czcionek może być używane z innymi formatami, takimi jak Word czy Excel?
A: Absolutnie – ten sam mechanizm FontSubstitute działa dla wielu typów dokumentów, w tym DOCX i XLSX.

Zasoby


Ostatnia aktualizacja: 2026-07-29
Testowano z: GroupDocs.Conversion 25.2 for Java
Autor: GroupDocs

Powiązane tutoriale