Vkládání fontů do PDF pomocí GroupDocs Conversion Java pro Word

V tomto komplexním tutoriálu zjistíte, jak GroupDocs Conversion Java umožňuje vkládat fonty do PDF při převodu souboru DOCX na PDF. Ať už budujete pipeline pro právní dokumenty, publikujete e‑knihy nebo generujete firemní zprávy, níže uvedené kroky zaručují, že výsledné PDF vypadá přesně jako původní soubor Word na každém zařízení.

Rychlé odpovědi

  • Která knihovna provádí převod? GroupDocs Conversion for Java.
  • Mohu nahradit chybějící fonty? Yes – use font substitution settings.
  • Potřebuji licenci pro produkci? A commercial license is required; a free trial is available.
  • Která verze Javy je podporována? JDK 8 or higher.
  • Je hromadný převod možný? Absolutely – wrap the converter in a loop or use the API’s batch features.

Co je GroupDocs Conversion Java?

GroupDocs Conversion Java je vysoce výkonný API, který převádí více než 70+ formátů dokumentů — včetně DOCX, PPTX, XLSX a PDF — bez potřeby Microsoft Office. Poskytuje vývojářům podrobnou kontrolu nad vykreslováním, rozvržením a vkládáním fontů do PDF, zpracovává 500‑stránkový DOCX za méně než 30 sekund na typickém serveru.

Proč používat vlastní fonty během převodu?

Vložení správných fontů zaručuje, že PDF vypadá identicky na každém zařízení, eliminuje problémy s „náhradními fonty“ a splňuje směrnice značky. Tento přístup snižuje nutnost přepracování až o 40 % pro týmy, které by jinak musely po převodu ručně upravovat PDF.

Předpoklady

  • Java Development Kit (JDK) – verze 8 nebo novější.
  • Maven pro správu závislostí.
  • IDE (IntelliJ IDEA, Eclipse nebo VS Code).

Nastavení GroupDocs.Conversion pro Java

Pro začátek přidejte repozitář GroupDocs a závislost pro převod do svého Maven projektu.

<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>

Získání licence

Můžete začít s bezplatnou zkušební verzí nebo získat dočasnou licenci pro rozšířené testování. Pro komerční použití zvažte zakoupení plné licence. Navštivte GroupDocs Licensing a prozkoumejte své možnosti.

Základní inicializace a nastavení

Po přidání závislosti vytvořte instanci Converter, která ukazuje na váš zdrojový soubor DOCX. Converter je hlavní třída, která spravuje operace převodu dokumentů.

import com.groupdocs.conversion.Converter;

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

Průvodce implementací

Níže je podrobný průvodce, který ukazuje, jak nastavit výchozí font PDF a definovat vlastní substituce fontů.

Krok 1: Definovat cestu převodu a možnosti načtení

Nejprve určete, kde bude PDF uložen, a nakonfigurujte možnosti načtení, které řídí zacházení s fonty. setAutoFontSubstitution zakazuje automatické hádání fontů během převodu. setDefaultFont určuje náhradní font, který se použije, když originální chybí. setFontSubstitutes mapuje nedostupné fonty na alternativní fonty, které poskytnete.

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);

Přímá odpověď

Nastavte setAutoFontSubstitution(false), aby se zakázalo automatické hádání, poté poskytněte spolehlivou náhradu pomocí setDefaultFont("Helvetica.ttf"). Nakonec mapujte všechny chybějící fonty na známé alternativy pomocí setFontSubstitutes(...). Tím zajistíte, že každý znak ve zdrojovém DOCX má odpovídající glyfu ve výstupním PDF.

Vysvětlení

  • setAutoFontSubstitution(false): Vypíná automatické hádání knihovny, poskytuje vám plnou kontrolu.
  • setDefaultFont("Helvetica.ttf"): Poskytuje univerzální náhradu, když požadovaný font není nalezen.
  • setFontSubstitutes(...): Mapuje chybějící fonty na alternativy, o kterých víte, že jsou dostupné v cílovém systému.

Krok 2: Nakonfigurovat možnosti převodu PDF

Nyní vytvořte objekt specifický pro PDF možnosti. PdfConvertOptions definuje parametry výstupu PDF, jako je vkládání fontů a komprese. setEmbedFonts povoluje vkládání vybraných fontů do generovaného PDF.

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

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

Přímá odpověď

Vytvořte instanci PdfConvertOptions, volitelně povolte vkládání fontů pomocí setEmbedFonts(true) a upravte nastavení komprese pro vyvážení velikosti souboru a kvality. Tyto možnosti vám umožní jemně doladit finální PDF tak, aby splňovalo jak vizuální věrnost, tak požadavky na úložiště.

Můžete později rozšířit PdfConvertOptions, abyste upravili velikost stránky, okraje nebo nastavení komprese.

Krok 3: Provedení převodu

Nakonec spusťte převod s dříve definovanými možnostmi načtení a převodu. convert(source, target, loadOptions, pdfOptions) provádí převod s daným nastavením.

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

Přímá odpověď

Zavolejte converter.convert(sourcePath, targetPath, loadOptions, pdfOptions). API načte DOCX, použije vaše pravidla pro fonty, vloží vybrané fonty a zapíše PDF, které přesně zachovává původní typografii podle záměru.

API načte DOCX, použije vaše pravidla pro fonty a zapíše PDF, které vkládá vybrané fonty.

Praktické aplikace

  1. Legal Document Management – Zachovat přesnou typografii pro PDF připravené k soudu.
  2. Publishing Industry – Udržet konzistentní brandingové fonty napříč e‑knihami a katalogy.
  3. Corporate Reports – Zajistit, aby PDF určené stakeholderům odpovídaly firemním stylovým příručkám.
  4. Educational Material – Převést přednáškové poznámky při zachování vlastních akademických fontů.

Úvahy o výkonu

  • Memory Management – Velké soubory DOCX mohou spotřebovat značnou haldu; monitorujte paměť JVM a zvažte úpravy -Xmx.
  • Batch Processing – Zabalte logiku převodu do smyčky nebo použijte batch API GroupDocs pro efektivní zpracování více souborů.
  • Resource Allocation – Přidělte dostatečný počet jader CPU při paralelním převodu mnoha dokumentů.
  • Throughput – Na 4‑jádrovém VM může knihovna zpracovat až 12 300‑stránkových dokumentů za minutu při vkládání fontů.

Časté problémy a řešení

ProblémŘešení
Fonty nejsou nahrazenyOvěřte, že soubory fontů existují na uvedených cestách a že názvy FontSubstitute odpovídají přesným názvům rodiny fontů ve zdrojovém DOCX.
Chyby nedostatku pamětiZvyšte velikost haldy JVM (-Xmx2g nebo vyšší) nebo zpracovávejte soubory v menších dávkách.
PDF postrádá vložené fontyUjistěte se, že setDefaultFont ukazuje na soubor TrueType (.ttf) nebo OpenType (.otf) a že licence umožňuje vkládání fontů.
Nesprávné rozvržení stránky po převoduPoužijte PdfConvertOptions.setPageSize(...) pro shodu s původními rozměry stránky Word.
Pomalý převod velmi velkých souborůPovolte režim streamování pomocí PdfConvertOptions.setStream(true), aby se snížil tlak na paměť.

Často kladené otázky

Q: Mohu použít GroupDocs.Conversion bez zakoupení licence?
A: Ano, můžete začít s bezplatnou zkušební verzí nebo získat dočasnou licenci pro hodnocení.

Q: Co mám dělat, pokud fonty nejsou nahrazeny správně?
A: Ujistěte se, že soubory fontů jsou přístupné a správně odkazovány v setFontSubstitutes. Dvakrát zkontrolujte přesné názvy rodiny fontů.

Q: Jak mohu zlepšit výkon převodu pro velké dokumenty?
A: Zpracovávejte dokumenty v dávkách, monitorujte systémové zdroje, zvyšte velikost haldy JVM a povolte režim streamování.

Q: Je možné převádět i jiné typy dokumentů než Word?
A: Absolutely. GroupDocs Conversion supports images, spreadsheets, presentations, and many more formats.

Q: Kde najdu další dokumentaci k GroupDocs.Conversion?
A: Navštivte oficiální průvodce na GroupDocs Java Conversion Docs pro podrobné reference API.

Závěr

Nyní máte kompletní, připravené řešení pro vkládání fontů do PDF při převodu DOCX na PDF pomocí GroupDocs Conversion Java. Konfigurací substituce fontů a výchozích fontů zaručíte, že každé PDF odráží vzhled původního dokumentu Word, bez ohledu na prohlížeč nebo platformu.

Další kroky

  • Experimentujte s dalšími PdfConvertOptions, jako je shoda s PDF/A nebo komprese obrázků.
  • Prozkoumejte hromadný převod pro automatizaci rozsáhlých dokumentových pipeline.
  • Projděte si kompletní API v oficiální dokumentaci a odemkněte pokročilé funkce jako vodoznaky nebo digitální podpisy.

Poslední aktualizace: 2026-07-14
Testováno s: GroupDocs.Conversion 25.2
Autor: GroupDocs

Zdroje

Související tutoriály