现有代码:
ConverterProperties props = new ConverterProperties();
props.setBaseUri("src/main/resources/xslt");
PdfDocument pdf = new PdfDocument(new PdfWriter(new FileOutputStream(dest)));
pdf.setDefaultPageSize(new PageSize(612F, 792F));
HtmlConverter.convertToPdf( html, pdf, props);
有人能建议一下如何添加页边距吗?我使用Document类来设置Margin,但不确定如何将其转化为HtmlConverter的convertToPdf方法。
您不可能使用HTMLConverter#ConvertToElements
方法吗。结果返回list
,然后您可以将其元素添加到具有设置边距的文档中:
Document document = new Document(pdfDocument);
List<IElement> list = HtmlConverter.convertToElements(new FileInputStream(htmlSource));
for (IElement element : list) {
if (element instanceof IBlockElement) {
document.add((IBlockElement) element);
}
}
另一种方法:在html中引入@page规则来设置所需的页边距,例如:
@page {
margin: 0;
}
还有一个解决方案:为标记实现您自己的自定义标记工作者,并在其级别上设置边距。例如,要设置零边距,可以创建标记下一个worker:
public class CustomTagWorkerFactory extends DefaultTagWorkerFactory {
public ITagWorker getCustomTagWorker(IElementNode tag, ProcessorContext context) {
if (TagConstants.HTML.equals(tag.name())) {
return new ZeroMarginHtmlTagWorker(tag, context);
}
return null;
}
}
public class ZeroMarginHtmlTagWorker extends HtmlTagWorker {
public ZeroMarginHtmlTagWorker(IElementNode element, ProcessorContext context) {
super(element, context);
Document doc = (Document) getElementResult();
doc.setMargins(0, 0, 0, 0);
}
}
converterProperties.setTagWorkerFactory(new CustomTagWorkerFactory());
HtmlConverter.convertToPdf(new File(htmlPath), new File(pdfPath), converterProperties);
使用Apache poi创建一个基本的word文档,我需要更改页面边距。这个问题的答案似乎很完美,但我没有CTPageMar类。我用的是3.10。有谁用不同的版本或不同的方法运气吗?
我知道以前有人问过这样的问题: 类似的问题 但我的问题是当我这样做的时候: 它显示参数没有setMargins。谁能帮忙?
在区划图层一级图层内,可设置图层边界,用于明确该图层的业务范围,超出图层边界的区划会自动裁切 操作步骤如下: 1.点击打开区划图层“更多”菜单,选择“设置边界范围” 2.单击选中区域,可以连续选中多个 双击进入下一级区划 3.选中行政区确认后,自动显示行政区边界,对于超过边界的画区行为,会报错显示
当前结果:下边框为灰色 所需结果:所有边框均为白色 问题:CSS中的边框颜色设置为白色
我正在我的应用程序中使用新的导航抽屉。它很棒,除了我没有找到一种简单的方法来设置抽屉是如何打开的。默认行为是从屏幕的左边缘拖动打开。这很好,除非手机/桌子有一个外壳,并且手机的边缘不能被触摸。我想允许用户触摸并从屏幕的边缘向左拖动。这很容易与其他导航抽屉库(滑动库)一起设置。不幸的是,我没有看到谷歌的库有任何东西。 对于NavigationLayout,可以使用一个onTouchEvent()方法
问题内容: 我尝试将大小设置为零或在Java中删除打印文档的边框。它始终具有标准的白色边框。 这是我打印JPanel和一些组件的功能: 我正在使用Adobe PDF打印机,因为这里没有任何打印机。有什么建议? 问题答案: 使用带有参数的PrinterJob.setPrintable()版本。 在PageFormat中,设置纸张的可成像区域没有边框(x = 0,y = 0,width =纸张的宽度,