Osadzanie czcionek PDF przy użyciu GroupDocs Conversion Java dla Word

W tym obszernej samouczku odkryjesz, jak GroupDocs Conversion Java pozwala osadzać czcionki PDF podczas konwertowania pliku DOCX do PDF. Niezależnie od tego, czy tworzysz pipeline dokumentów prawnych, publikujesz e‑booki, czy generujesz raporty korporacyjne, poniższe kroki gwarantują, że powstały PDF wygląda dokładnie tak jak oryginalny plik Word na każdym urządzeniu.

Szybkie odpowiedzi

  • Jaka biblioteka obsługuje konwersję? GroupDocs Conversion for Java.
  • Czy mogę zastąpić brakujące czcionki? Tak – użyj ustawień podstawiania czcionek.
  • Czy potrzebuję licencji do produkcji? Wymagana jest licencja komercyjna; dostępna jest darmowa wersja próbna.
  • Jaką wersję Javy obsługuje? JDK 8 lub wyższą.
  • Czy konwersja wsadowa jest możliwa? Zdecydowanie – opakuj konwerter w pętlę lub użyj funkcji wsadowych API.

Co to jest GroupDocs Conversion Java?

GroupDocs Conversion Java to wysokowydajny API, który przetwarza ponad 70+ formatów dokumentów — w tym DOCX, PPTX, XLSX i PDF — bez konieczności posiadania Microsoft Office. Daje programistom precyzyjną kontrolę nad renderowaniem, układem i możliwościami osadzania czcionek PDF, przetwarzając 500‑stronicowy DOCX w mniej niż 30 sekund na typowym serwerze.

Dlaczego używać własnych czcionek podczas konwersji?

Osadzanie odpowiednich czcionek zapewnia, że PDF wygląda identycznie na każdym urządzeniu, eliminuje problemy z „fallbackiem” czcionek i spełnia wytyczne brandingowe. Takie podejście zmniejsza konieczność poprawek o nawet 40 % dla zespołów, które w przeciwnym razie musiałyby ręcznie dostosowywać PDF po konwersji.

Wymagania wstępne

  • Java Development Kit (JDK) – wersja 8 lub nowsza.
  • Maven do zarządzania zależnościami.
  • IDE (IntelliJ IDEA, Eclipse lub VS Code).

Konfiguracja GroupDocs.Conversion dla Java

Aby rozpocząć, dodaj repozytorium GroupDocs i zależność konwersji do swojego projektu Maven.

<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

Możesz rozpocząć od darmowej wersji próbnej lub uzyskać tymczasową licencję do rozszerzonych testów. Do użytku komercyjnego rozważ zakup pełnej licencji. Odwiedź GroupDocs Licensing, aby zapoznać się z opcjami.

Podstawowa inicjalizacja i konfiguracja

Po dodaniu zależności, utwórz instancję Converter, która wskazuje na Twój źródłowy plik DOCX.
Converter jest główną klasą zarządzającą operacjami konwersji dokumentów.

import com.groupdocs.conversion.Converter;

// Initialize with a document path
Converter converter = new Converter("YOUR_DOCUMENT_DIRECTORY/SampleDocx.docx");

Przewodnik implementacji

Poniżej znajduje się krok‑po‑kroku przewodnik, który pokazuje, jak ustawić domyślną czcionkę pdf i zdefiniować własne podstawienia czcionek.

Krok 1: Zdefiniuj ścieżkę konwersji i opcje ładowania

Najpierw określ, gdzie zostanie zapisany PDF i skonfiguruj opcje ładowania kontrolujące obsługę czcionek.
setAutoFontSubstitution wyłącza automatyczne zgadywanie czcionek podczas konwersji.
setDefaultFont określa czcionkę awaryjną używaną, gdy oryginalna jest nieobecna.
setFontSubstitutes mapuje niedostępne czcionki na alternatywne czcionki, które podajesz.

import com.groupdocs.conversion.options.load.WordProcessingLoadOptions;
import com.groupdocs.conversion.contracts.FontSubstitute;

// Output PDF path
String convertedFile = "YOUR_OUTPUT_DIRECTORY/ConvertedWordToPdf.pdf";

// Configure load options for Word documents
double autoFontSubstitution(false);  // Disable automatic font substitution
defaultFont("resources/fonts/Helvetica.ttf");  // Set a default fallback font

// Prepare font substitutes list
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

// Apply the substitutes to load options
setFontSubstitutes(fontSubstitutes);

Bezpośrednia odpowiedź

Ustaw setAutoFontSubstitution(false), aby wyłączyć automatyczne zgadywanie, a następnie zapewnij niezawodną czcionkę awaryjną za pomocą setDefaultFont("Helvetica.ttf"). Na koniec mapuj wszystkie brakujące czcionki na znane alternatywy przy użyciu setFontSubstitutes(...). To zapewnia, że każdy znak w źródłowym DOCX ma odpowiadający glif w wyjściowym PDF.

Wyjaśnienie

  • setAutoFontSubstitution(false): Wyłącza automatyczne zgadywanie biblioteki, dając pełną kontrolę.
  • setDefaultFont("Helvetica.ttf"): Zapewnia uniwersalną czcionkę awaryjną, gdy żądana czcionka nie zostanie znaleziona.
  • setFontSubstitutes(...): Mapuje brakujące czcionki na alternatywy, które są dostępne w docelowym systemie.

Krok 2: Skonfiguruj opcje konwersji PDF

Teraz utwórz obiekt opcji specyficznych dla PDF.
PdfConvertOptions definiuje parametry wyjściowe PDF, takie jak osadzanie czcionek i kompresja.
setEmbedFonts włącza osadzanie wybranych czcionek w generowanym PDF.

import com.groupdocs.conversion.options.convert.PdfConvertOptions;

// Initialize PDF conversion options
double options = new PdfConvertOptions();

Bezpośrednia odpowiedź

Utwórz instancję PdfConvertOptions, opcjonalnie włącz osadzanie czcionek przy użyciu setEmbedFonts(true) i dostosuj ustawienia kompresji, aby zrównoważyć rozmiar pliku i jakość. Te opcje pozwalają precyzyjnie dostroić końcowy PDF, aby spełniał zarówno wymogi wizualnej wierności, jak i ograniczenia przechowywania.
Możesz później rozszerzyć PdfConvertOptions, aby dostosować rozmiar strony, marginesy lub ustawienia kompresji.

Krok 3: Wykonaj konwersję

Na koniec uruchom konwersję przy użyciu wcześniej zdefiniowanych opcji ładowania i konwersji.
convert(source, target, loadOptions, pdfOptions) wykonuje konwersję z podanymi ustawieniami.

// Convert Word document to PDF with specified font settings
converter.convert(convertedFile, () -> loadOptions, options);

Bezpośrednia odpowiedź

Wywołaj converter.convert(sourcePath, targetPath, loadOptions, pdfOptions). API odczytuje DOCX, stosuje Twoje reguły czcionek, osadza wybrane czcionki i zapisuje PDF, który zachowuje oryginalną typografię dokładnie tak, jak zamierzono.
API odczytuje DOCX, stosuje Twoje reguły czcionek i zapisuje PDF, który osadza wybrane czcionki.

Praktyczne zastosowania

  1. Zarządzanie dokumentami prawnymi – Zachowaj dokładną typografię w PDF gotowych do sądu.
  2. Branża wydawnicza – Utrzymaj spójność czcionek brandingowych w e‑bookach i katalogach.
  3. Raporty korporacyjne – Zapewnij, że PDF skierowane do interesariuszy odpowiadają korporacyjnym wytycznym stylu.
  4. Materiały edukacyjne – Konwertuj notatki wykładowe, zachowując własne czcionki akademickie.

Rozważania dotyczące wydajności

  • Zarządzanie pamięcią – Duże pliki DOCX mogą zużywać znaczną część sterty; monitoruj pamięć JVM i rozważ dostosowanie -Xmx.
  • Przetwarzanie wsadowe – Opakuj logikę konwersji w pętlę lub użyj API wsadowego GroupDocs, aby efektywnie obsługiwać wiele plików.
  • Alokacja zasobów – Przydziel wystarczającą liczbę rdzeni CPU przy równoległej konwersji wielu dokumentów.
  • Przepustowość – Na maszynie wirtualnej z 4 rdzeniami biblioteka może przetworzyć do 12 300‑stronicowych dokumentów na minutę przy jednoczesnym osadzaniu czcionek.

Typowe problemy i rozwiązania

ProblemRozwiązanie
Czcionki nie są podstawianeSprawdź, czy pliki czcionek istnieją w podanych ścieżkach i czy nazwy FontSubstitute odpowiadają dokładnym nazwom rodzin czcionek w źródłowym DOCX.
Błędy braku pamięciZwiększ rozmiar sterty JVM (-Xmx2g lub większy) lub przetwarzaj pliki w mniejszych partiach.
PDF bez osadzonych czcionekUpewnij się, że setDefaultFont wskazuje na plik TrueType (.ttf) lub OpenType (.otf) oraz że licencja zezwala na osadzanie czcionek.
Nieprawidłowy układ strony po konwersjiUżyj PdfConvertOptions.setPageSize(...), aby dopasować wymiary strony do oryginalnego dokumentu Word.
Wolna konwersja bardzo dużych plikówWłącz tryb strumieniowy przy użyciu PdfConvertOptions.setStream(true), aby zmniejszyć obciążenie pamięci.

Najczęściej zadawane pytania

Q: Czy mogę używać GroupDocs.Conversion bez zakupu licencji?
A: Tak, możesz rozpocząć od darmowej wersji próbnej lub uzyskać tymczasową licencję do oceny.

Q: Co zrobić, jeśli czcionki nie są prawidłowo podstawiane?
A: Upewnij się, że pliki czcionek są dostępne i poprawnie odwoływane w setFontSubstitutes. Sprawdź dokładne nazwy rodzin czcionek.

Q: Jak mogę poprawić wydajność konwersji dużych dokumentów?
A: Przetwarzaj dokumenty w partiach, monitoruj zasoby systemowe, zwiększ rozmiar sterty JVM i włącz tryb strumieniowy.

Q: Czy można konwertować inne typy dokumentów oprócz Word?
A: Zdecydowanie. GroupDocs Conversion obsługuje obrazy, arkusze kalkulacyjne, prezentacje i wiele innych formatów.

Q: Gdzie mogę znaleźć dodatkową dokumentację dla GroupDocs.Conversion?
A: Odwiedź oficjalne przewodniki pod adresem GroupDocs Java Conversion Docs, aby uzyskać szczegółowe odniesienia API.

Podsumowanie

Masz teraz kompletną, gotową do produkcji rozwiązanie do osadzania czcionek PDF podczas konwertowania DOCX do PDF przy użyciu GroupDocs Conversion Java. Konfigurując podstawianie czcionek i czcionki domyślne, zapewniasz, że każdy PDF odzwierciedla wygląd oryginalnego dokumentu Word, niezależnie od przeglądarki czy platformy.

Kolejne kroki

  • Eksperymentuj z dodatkowymi PdfConvertOptions, takimi jak zgodność PDF/A lub kompresja obrazów.
  • Zbadaj konwersję wsadową, aby zautomatyzować przetwarzanie dokumentów na dużą skalę.
  • Przejrzyj pełny zakres API w oficjalnej dokumentacji, aby odblokować zaawansowane funkcje, takie jak znakowanie wodne czy podpisy cyfrowe.

Ostatnia aktualizacja: 2026-07-14
Testowano z: GroupDocs.Conversion 25.2
Autor: GroupDocs

Zasoby

Powiązane samouczki