页边距是 pdf 页面周围的白色区域。如果您需要更多空白来添加其他信息,您可以增加边距。或者在其它情况您可能还需要减少边距。本文演示了如何使用 spire.pdf for java 调整现有 pdf 文档的边距。
安装 spire.pdf for java
首先,您需要在 java 程序中添加 spire.pdf.jar 文件作为依赖项。jar文件可以从此链接下载。 如果您使用 maven,则可以将以下代码添加到项目的 pom.xml 文件中,从而轻松地在应用程序中导入 jar 文件
com.e-iceblue
e-iceblue
https://repo.e-iceblue.cn/nexus/content/groups/public/
e-iceblue
spire.pdf
5.1.0
增加现有 pdf 文档的页边距
增加 pdf 文档页边距的方法是创建一个更大页面的新 pdf,然后在较大页面上的适当位置绘制原始页面。以下是使用 spire.pdf for java 增加现有 pdf 文档页边距的主要步骤。
- 在初始化 pdfdocument 对象时加载原始 pdf 文档。
- 创建另一个 pdfdocument 对象,该对象用于创建具有更大页面大小的新 pdf 文档。
- 设置边距的增值。
- 设置新 pdf 文档的页面大小。
- 循环遍历原始文档中的页面,并使用 pdfpagebase.createtemplate() 方法基于某个页面创建模板。
- 使用 pdfdocument.getpages().add() 方法在新的 pdf 文档中添加页面。
- 使用 pdftemplate.draw()方法从(0, 0) 开始在页面上绘制模板。
- 使用 pdfdocument.savetofile() 方法将新的 pdf 文档保存到文件中。
- java
import com.spire.pdf.fileformat;
import com.spire.pdf.pdfdocument;
import com.spire.pdf.pdfpagebase;
import com.spire.pdf.graphics.pdfmargins;
import com.spire.pdf.graphics.pdftemplate;
import java.awt.*;
import java.awt.geom.dimension2d;
import java.awt.geom.point2d;
public class increasemargins {
public static void main(string[] args) {
//加载原始pdf文档
pdfdocument originalpdf = new pdfdocument("c:\\users\\administrator\\desktop\\sample.pdf");
//获取第一页的内容
pdfpagebase firstpage = originalpdf.getpages().get(0);
//创建一个新的pdfdocument对象
pdfdocument newpdf = new pdfdocument();
//设置边距的增值
pdfmargins margins = newpdf.getpagesettings().getmargins();
margins.settop(40);
margins.setbottom(40);
margins.setleft(40);
margins.setright(40);
//设置新pdf文档的大小
dimension2d dimension2d = new dimension();
dimension2d.setsize(firstpage.getsize().getwidth() margins.getleft() margins.getright(), firstpage.getsize().getheight() margins.gettop() margins.getbottom());
//循环浏览原始文档中的页面
for (int i = 0; i < originalpdf.getpages().getcount(); i ) {
//根据源页面创建模板
pdftemplate template = originalpdf.getpages().get(i).createtemplate();
//在新的pdf文档中添加页面
pdfpagebase page = newpdf.getpages().add(dimension2d);
//在页面上绘制模板
template.draw(page.getcanvas(), new point2d.float(0, 0));
}
//将新文档保存到文件
newpdf.savetofile("output/increasemargins.pdf", fileformat.pdf);
}
}
减小现有 pdf 文档的页边距
同样,减少 pdf 边距的方法是创建一个更小页面的新 pdf,然后在较小页面的指定坐标位置绘制原始页面。以下是使用 spire.pdf for java 减少现有 pdf 文档页边距的主要步骤。
- 在初始化 pdfdocument 对象时加载原始 pdf 文档。
- 创建另一个 pdfdocument 对象,该对象用于创建具有较小页面大小的新 pdf 文档。
- 设置边距的减值。
- 设置新 pdf 文档的页面大小。
- 循环遍历原始文档中的页面,并使用 pdfpagebase.createtemplate() 方法基于某个页面创建模板。
- 使用 pdfdocument.getpages().add() 方法在新的pdf文档中添加页面。
- 使用 pdftemplate.draw() 方法在页面上的指定位置绘制模板。
- 使用 pdfdocument.savetofile() 方法将新的pdf文档保存到文件中。
- java
import com.spire.pdf.fileformat;
import com.spire.pdf.pdfdocument;
import com.spire.pdf.pdfpagebase;
import com.spire.pdf.graphics.pdfmargins;
import com.spire.pdf.graphics.pdftemplate;
import java.awt.*;
import java.awt.geom.dimension2d;
import java.awt.geom.point2d;
public class decreasemargins {
public static void main(string[] args) {
//加载原始pdf文档
pdfdocument originalpdf = new pdfdocument("c:\\users\\administrator\\desktop\\sample.pdf");
//获取第一页的内容
pdfpagebase firstpage = originalpdf.getpages().get(0);
//创建一个新的pdfdocument对象
pdfdocument newpdf = new pdfdocument();
//设置减值
double left = -20;
double right = -20;
double top = -20;
double bottom = -20;
//设置新pdf文档的页面大小
dimension2d dimension2d = new dimension();
dimension2d.setsize(originalpdf.getpages().get(0).getsize().getwidth() left right, originalpdf.getpages().get(0).getsize().getheight() top bottom);
//循环浏览原始文档中的页面
for (int i = 0; i < originalpdf.getpages().getcount(); i ) {
//根据源页面创建模板
pdftemplate template = originalpdf.getpages().get(i).createtemplate();
//在新的pdf文档中添加页面
pdfpagebase page = newpdf.getpages().add(dimension2d, new pdfmargins(0));
//在页面上绘制模板
template.draw(page.getcanvas(), new point2d.float((float) left, (float) top));
}
//将新文档保存到文件
newpdf.savetofile("output/decreasemargins.pdf", fileformat.pdf);
}
}
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请 该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。 获取有效期 30 天的临时许可证。