Mengonversi PDF ke HTML dalam Java

Aspose.PDF for Java mendukung ekspor HTML dengan opsi untuk gambar, SVG, pemisahan halaman, transparansi, dan rendering lapisan. Gunakan HtmlSaveOptions untuk mengontrol bagaimana halaman PDF, sumber daya, dan markup ditulis ke output HTML.

Mengonversi PDF ke HTML

Gunakan contoh ini ketika PDF harus diekspor ke dokumen HTML standar.

  1. Buka PDF sumber dalam sebuah instans Document.
  2. Buat default HtmlSaveOptions untuk serialisasi HTML standar.
  3. Panggil document.save(outputFile.toString(), saveOptions) sehingga konten halaman PDF diekspor sebagai markup HTML.
  4. Simpan output HTML yang dihasilkan.
public static void convertPdfToHtml(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        HtmlSaveOptions saveOptions = new HtmlSaveOptions();
        document.save(outputFile.toString(), saveOptions);
    }
    System.out.println(inputFile + " converted into " + outputFile);
}

Mengonversi PDF ke HTML dan menyimpan gambar secara terpisah

Gunakan contoh ini ketika gambar yang diekstrak harus ditulis sebagai file terpisah selama ekspor HTML.

  1. Buka PDF sumber dalam sebuah instans Document.
  2. Buat HtmlSaveOptions dan atur setSpecialFolderForAllImages(...) ke direktori output gambar khusus.
  3. Panggil document.save(outputFile.toString(), saveOptions) sehingga gambar raster dikeluarkan sebagai file sumber terpisah, bukan sebagai output hanya inline.
  4. Simpan output HTML bersama dengan aset gambar yang dihasilkan.
public static void convertPdfToHtmlStoringImages(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        HtmlSaveOptions saveOptions = new HtmlSaveOptions();
        saveOptions.setSpecialFolderForAllImages(inputFile.getParent().resolve("images").toString());
        document.save(outputFile.toString(), saveOptions);
    }
    System.out.println(inputFile + " converted into " + outputFile);
}

Mengubah PDF menjadi HTML multi-halaman

Gunakan contoh ini ketika setiap halaman PDF harus ditampilkan secara terpisah dalam output HTML.

  1. Buka PDF sumber dalam sebuah instans Document.
  2. Buat HtmlSaveOptions dan aktifkan setSplitIntoPages(true).
  3. Panggil document.save(outputFile.toString(), saveOptions) sehingga setiap halaman PDF ditulis sebagai output HTML terpisah.
  4. Simpan file HTML yang dihasilkan.
public static void convertPdfToHtmlMultiPage(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        HtmlSaveOptions saveOptions = new HtmlSaveOptions();
        saveOptions.setSplitIntoPages(true);
        document.save(outputFile.toString(), saveOptions);
    }
    System.out.println(inputFile + " converted into " + outputFile);
}

Mengonversi PDF ke HTML dan menyimpan SVG secara terpisah

Gunakan contoh ini ketika konten vektor harus dikeluarkan sebagai sumber daya SVG terpisah.

  1. Buka PDF sumber dalam sebuah instans Document.
  2. Buat HtmlSaveOptions dan atur setSpecialFolderForSvgImages(...) ke direktori sumber daya SVG eksternal.
  3. Panggil document.save(outputFile.toString(), saveOptions) sehingga grafik vektor disimpan di luar file HTML utama.
  4. Simpan output HTML dan aset SVG.
public static void convertPdfToHtmlStoringSvg(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        HtmlSaveOptions saveOptions = new HtmlSaveOptions();
        saveOptions.setSpecialFolderForSvgImages(inputFile.getParent().resolve("svg_images").toString());
        document.save(outputFile.toString(), saveOptions);
    }
    System.out.println(inputFile + " converted into " + outputFile);
}

Mengubah PDF menjadi HTML dengan SVG terkompresi

Gunakan contoh ini ketika output SVG harus dioptimalkan selama ekspor HTML.

  1. Buka PDF sumber dalam sebuah instans Document.
  2. Buat HtmlSaveOptions dan konfigurasikan folder khusus untuk sumber daya SVG.
  3. Aktifkan setCompressSvgGraphicsIfAny(true) jadi aset SVG dikompresi selama ekspor.
  4. Panggil document.save(outputFile.toString(), saveOptions) dan simpan file HTML yang telah dikonversi.
public static void convertPdfToHtmlCompressSvg(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        HtmlSaveOptions saveOptions = new HtmlSaveOptions();
        saveOptions.setSpecialFolderForSvgImages(inputFile.getParent().resolve("svg_images").toString());
        saveOptions.setCompressSvgGraphicsIfAny(true);
        document.save(outputFile.toString(), saveOptions);
    }
    System.out.println(inputFile + " converted into " + outputFile);
}

Mengonversi PDF ke HTML dengan latar belakang halaman PNG

Gunakan contoh ini ketika latar belakang halaman harus dirender sebagai gambar PNG dalam output HTML.

  1. Buka PDF sumber dalam sebuah instans Document.
  2. Buat HtmlSaveOptions dan atur mode penyimpanan gambar raster ke latar belakang halaman PNG.
  3. Panggil document.save(outputFile.toString(), saveOptions) sehingga konten latar belakang halaman dihasilkan sebagai lapisan HTML berbasis PNG.
  4. Simpan output HTML yang telah dikonversi.
public static void convertPdfToHtmlPngBackground(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        HtmlSaveOptions saveOptions = new HtmlSaveOptions();
        saveOptions.setRasterImagesSavingMode(
                HtmlSaveOptions.RasterImagesSavingModes.AsEmbeddedPartsOfPngPageBackground);
        document.save(outputFile.toString(), saveOptions);
    }
    System.out.println(inputFile + " converted into " + outputFile);
}

Mengonversi PDF menjadi konten tubuh HTML saja

Gunakan contoh ini ketika hanya markup body yang dibutuhkan, alih-alih keseluruhan kerangka dokumen HTML.

  1. Buka PDF sumber dalam sebuah instans Document.
  2. Buat HtmlSaveOptions dan atur mode pembuatan markup ke WriteOnlyBodyContent.
  3. Simpan setSplitIntoPages(true) diaktifkan ketika output hanya badan masih harus dipisahkan per halaman.
  4. Panggil document.save(outputFile.toString(), saveOptions) dan simpan output HTML.
public static void convertPdfToHtmlBodyContent(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        HtmlSaveOptions saveOptions = new HtmlSaveOptions();
        saveOptions.setHtmlMarkupGenerationMode(
                HtmlSaveOptions.HtmlMarkupGenerationModes.WriteOnlyBodyContent);
        saveOptions.setSplitIntoPages(true);
        document.save(outputFile.toString(), saveOptions);
    }
    System.out.println(inputFile + " converted into " + outputFile);
}

Mengonversi PDF ke HTML dengan rendering teks transparan

Gunakan contoh ini ketika teks transparan harus dipertahankan dalam ekspor HTML.

  1. Buka PDF sumber dalam sebuah instans Document.
  2. Buat HtmlSaveOptions dan aktifkan pelestarian teks transparan dan berbayang.
  3. Panggil document.save(outputFile.toString(), saveOptions) sehingga tampilan teks terkait transparansi dipertahankan dalam hasil HTML.
  4. Simpan output HTML yang telah dikonversi.
public static void convertPdfToHtmlTransparentTextRendering(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        HtmlSaveOptions saveOptions = new HtmlSaveOptions();
        saveOptions.setSaveTransparentTexts(true);
        saveOptions.setSaveShadowedTextsAsTransparentTexts(true);
        document.save(outputFile.toString(), saveOptions);
    }
    System.out.println(inputFile + " converted into " + outputFile);
}

Mengonversi PDF ke HTML dengan rendering lapisan dokumen

Gunakan contoh ini ketika visibilitas lapisan PDF harus tercermin dalam hasil HTML.

  1. Buka PDF sumber dalam sebuah instans Document.
  2. Buat HtmlSaveOptions dan aktifkan setConvertMarkedContentToLayers(true).
  3. Panggil document.save(outputFile.toString(), saveOptions) sehingga konten PDF yang ditandai dipetakan ke dalam lapisan HTML.
  4. Simpan file HTML yang diekspor.
public static void convertPdfToHtmlDocumentLayersRendering(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        HtmlSaveOptions saveOptions = new HtmlSaveOptions();
        saveOptions.setConvertMarkedContentToLayers(true);
        document.save(outputFile.toString(), saveOptions);
    }
    System.out.println(inputFile + " converted into " + outputFile);
}