gpt4 book ai didi

java - iText 7 无法设置边距

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:33:55 38 4
gpt4 key购买 nike

我有一个 HTML 字符串,我需要将其转换为 pdf,但我需要的 pdf 必须具有特定的大小和边距。我按照示例显示的那样做了,现在我有我设置的宽度和高度的 pdf,但是我不能更改或删除边距,所以请帮助我。

 using (FileStream fs = new FileStream(somePDFFile, FileMode.OpenOrCreate, FileAccess.Write))
{

iText.Kernel.Pdf.PdfWriter pdfWriter = new iText.Kernel.Pdf.PdfWriter(fs);

iText.Kernel.Pdf.PdfDocument pdfDoc = new iText.Kernel.Pdf.PdfDocument(pdfWriter);

var v = pdfDoc.GetDefaultPageSize().ApplyMargins<iText.Kernel.Geom.Rectangle>(1, 1, 1, 1, true);
pdfDoc.GetDefaultPageSize().SetWidth(250f);
pdfDoc.GetDefaultPageSize().SetHeight(200f);
pdfDoc.GetCatalog().SetLang(new iText.Kernel.Pdf.PdfString("en-US"));
//Set the document to be tagged
pdfDoc.SetTagged();



iText.Html2pdf.ConverterProperties props = new iText.Html2pdf.ConverterProperties();

iText.Html2pdf.HtmlConverter.ConvertToPdf(htmlString, pdfDoc, props);

pdfDoc.Close();



}

最佳答案

我搜索了一个答案,但我只能找到这种方法:

public void createPdf(String src, String dest) throws IOException {
ConverterProperties properties = new ConverterProperties();
properties.setBaseUri(new File(src).getParent());
List<IElement> elements =
HtmlConverter.convertToElements(new FileInputStream(src), properties);
PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
pdf.setTagged();
Document document = new Document(pdf);
document.setMargins(100, 50, 50, 100);
for (IElement element : elements) {
document.add((IBlockElement)element);
}
document.close();
}

换句话说:我将 HTML 转换为元素列表,然后将这些元素添加到 Document 中。我为此定义了一个边距。

我的首选解决方案是在 <body> 级别定义边距在 How to margin the body of the page (html)? 中完成标记不幸的是,我注意到这还不受支持(我为 iText 开发团队开了一张票来解决这个问题)。

我也尝试了 convertToDocument()方法,但我无法设置 immediateFlush假的。我还要求团队对此进行调查。

也许还有一个可以引入的属性,虽然我不太确定这是否应该是 ConverterProperties属性(property),一个PdfDocument属性(property),或 PdfWriter属性(property)。

更新:

您可以使用 CSS 中的 @page 规则来定义边距。例如:

<style>
@page {
margin-top: 200pt;
}
</style>

这将创建一个上边距为 200pt 的 PDF。

关于java - iText 7 无法设置边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47470197/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com