繁体   English   中英

具有自定义宽度和高度的 PdfBoxRenderer

[英]PdfBoxRenderer with custom width and height

我在我的数据库中将 html 内容存储为原始字符串,我喜欢在 pdf 中打印它,但具有自定义大小,例如页面大小为 10 厘米宽和 7 Z4D236D9A2D102C50FE6AD1C50ZB 格式,而不是标准 A50ZB 格式。

如果可能的话,有人可以给我一些例子。

    ByteArrayOutputStream out = new ByteArrayOutputStream();
    PDRectangle rec = new PDRectangle(recWidth, recHeight);
    PDPage page = new PDPage(rec);

    try (PDDocument document = new PDDocument()) {
        PdfRendererBuilder builder = new PdfRendererBuilder();
        builder.defaultTextDirection(BaseRendererBuilder.TextDirection.LTR);
        String htmlContent = "<b>Hello world</b>" + content; 
        builder.withHtmlContent(htmlContent, "");

        document.addPage(page);
        builder.usePDDocument(document);
        PdfBoxRenderer renderer = builder.buildPdfRenderer();
        renderer.createPDFWithoutClosing();

        document.save(out);
    } catch (Exception e) {
      ex.printStackTrace();
    }
    return new ByteArrayInputStream(out.toByteArray());

此代码为我生成 2 个文件,一个小文件和一个 A4。

更新:

我试过这个:

  try (PDDocument document = new PDDocument()) {
        PdfRendererBuilder builder = new PdfRendererBuilder();
        builder.defaultTextDirection(BaseRendererBuilder.TextDirection.LTR);
        builder.useDefaultPageSize(210, 297, PdfRendererBuilder.PageSizeUnits.MM);
        builder.usePdfAConformance(PdfRendererBuilder.PdfAConformance.PDFA_3_A);
        String htmlContent = "<b>content</b>";
        builder.withHtmlContent(htmlContent, "");
        builder.usePDDocument(document);
        PdfBoxRenderer renderer = builder.buildPdfRenderer();
        renderer.createPDFWithoutClosing();
        document.save(out);
    } catch (Exception e) {
        log.error(">>> The creation of PDF is invalid!");
    }
       

但在这种情况下内容不显示,如果我删除 useDefaultPageSize,内容将被显示

我之前没有检查此解决方案,但尝试使用您想要的页面大小和文档类型初始化构建器 object,如下所示

    builder.useDefaultPageSize(210, 297, PdfRendererBuilder.PageSizeUnits.MM);
    builder.usePdfAConformance(PdfRendererBuilder.PdfAConformance.PDFA_3_A);

该库包括许多 PDF 格式接下来是 PdfAConformance Enum 与可能的值

PdfA一致性枚举

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM