Java에서 PDF를 HTML로 변환

Aspose.PDF for Java는 이미지, SVG, 페이지 분할, 투명도 및 레이어 렌더링 옵션과 함께 HTML 내보내기를 지원합니다. PDF 페이지, 리소스 및 마크업이 HTML 출력에 기록되는 방식을 제어하려면 HtmlSaveOptions를 사용하세요.

PDF를 HTML로 변환

PDF를 표준 HTML 문서로 내보내야 하는 경우 이 예를 사용하세요.

  1. Document 인스턴스에서 소스 PDF를 여세요.
  2. 표준 HTML 직렬화를 위한 기본값 HtmlSaveOptions를 만드세요.
  3. document.save(outputFile.toString(), saveOptions)를 호출하세요. PDF 페이지 콘텐츠가 HTML 마크업으로 내보내집니다.
  4. 생성된 HTML 출력을 저장하세요.
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);
}

PDF를 HTML로 변환하고 이미지를 별도로 저장

HTML 내보내기 중에 추출된 이미지를 별도의 파일로 작성해야 하는 경우 이 예를 사용하세요.

  1. Document 인스턴스에서 소스 PDF를 여세요.
  2. HtmlSaveOptions를 만들고 setSpecialFolderForAllImages(...)을 전용 이미지 출력 디렉터리로 설정하세요.
  3. document.save(outputFile.toString(), saveOptions)를 호출하세요. 래스터 이미지가 인라인 전용 출력 대신 별도의 리소스 파일로 내보내집니다.
  4. 생성된 이미지 자산과 함께 HTML 출력을 저장하세요.
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);
}

PDF를 다중 페이지 HTML로 변환

각 PDF 페이지를 HTML 출력에서 별도로 표시해야 하는 경우 이 예를 사용하세요.

  1. Document 인스턴스에서 소스 PDF를 여세요.
  2. HtmlSaveOptions를 만들고 setSplitIntoPages(true)를 활성화하세요.
  3. document.save(outputFile.toString(), saveOptions)를 호출하세요. 각 PDF 페이지가 별도의 HTML 출력으로 작성됩니다.
  4. 생성된 HTML 파일을 저장하세요.
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);
}

PDF를 HTML로 변환하고 SVG를 별도로 저장

벡터 콘텐츠를 별도의 SVG 리소스로 내보내야 하는 경우 이 예를 사용하세요.

  1. Document 인스턴스에서 소스 PDF를 여세요.
  2. HtmlSaveOptions를 만들고 setSpecialFolderForSvgImages(...)을 외부 SVG 리소스 디렉터리로 설정하세요.
  3. document.save(outputFile.toString(), saveOptions)를 호출하세요. 벡터 그래픽이 기본 HTML 파일 외부에 저장됩니다.
  4. HTML 출력 및 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);
}

압축된 SVG를 사용하여 PDF를 HTML로 변환

HTML을 내보내는 동안 SVG 출력을 최적화해야 하는 경우 이 예를 사용하세요.

  1. Document 인스턴스에서 소스 PDF를 여세요.
  2. HtmlSaveOptions를 생성하고 SVG 리소스 전용 폴더를 구성하세요.
  3. setCompressSvgGraphicsIfAny(true)를 활성화하세요. 내보내는 동안 SVG 자산이 압축됩니다.
  4. document.save(outputFile.toString(), saveOptions)를 호출하여 변환된 HTML 파일을 저장하세요.
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);
}

PNG 페이지 배경을 사용하여 PDF를 HTML로 변환

HTML 출력에서 페이지 배경을 PNG 이미지로 렌더링해야 하는 경우 이 예를 사용하세요.

  1. Document 인스턴스에서 소스 PDF를 여세요.
  2. HtmlSaveOptions를 만들고 래스터 이미지 저장 모드를 PNG 페이지 배경으로 설정하세요.
  3. document.save(outputFile.toString(), saveOptions)를 호출하세요. 페이지 배경 콘텐츠가 PNG 지원 HTML 레이어로 내보내집니다.
  4. 변환된 HTML 출력을 저장하세요.
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);
}

PDF를 HTML 본문 내용으로만 변환

전체 HTML 문서 셸 대신 본문 마크업만 필요한 경우 이 예제를 사용하세요.

  1. Document 인스턴스에서 소스 PDF를 여세요.
  2. HtmlSaveOptions를 만들고 마크업 생성 모드를 WriteOnlyBodyContent으로 설정하세요.
  3. 본문만 출력해야 하는 경우에도 setSplitIntoPages(true)를 활성화된 상태로 유지하세요.
  4. document.save(outputFile.toString(), saveOptions)를 호출하고 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);
}

투명한 텍스트 렌더링을 사용하여 PDF를 HTML로 변환

HTML 내보내기에서 투명한 텍스트를 유지해야 하는 경우 이 예를 사용하세요.

  1. Document 인스턴스에서 소스 PDF를 여세요.
  2. HtmlSaveOptions를 만들고 투명 및 그림자 텍스트 보존을 활성화하세요.
  3. 투명도 관련 텍스트 모양이 HTML 결과에 유지되도록 document.save(outputFile.toString(), saveOptions)를 호출하세요.
  4. 변환된 HTML 출력을 저장하세요.
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);
}

문서 레이어 렌더링을 사용하여 PDF를 HTML로 변환

PDF 레이어 가시성이 HTML 결과에 반영되어야 하는 경우 이 예를 사용하세요.

  1. Document 인스턴스에서 소스 PDF를 여세요.
  2. HtmlSaveOptions를 만들고 setConvertMarkedContentToLayers(true)를 활성화하세요.
  3. document.save(outputFile.toString(), saveOptions)를 호출하세요. 표시된 PDF 콘텐츠가 HTML 레이어에 매핑됩니다.
  4. 내보낸 HTML 파일을 저장하세요.
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);
}