安装 Spire.PDF for Java
首先,您需要在 Java 程序中添加 Spire.Pdf.jar 文件作为依赖项。JAR文件可以从此链接下载。 如果您使用 Maven,则可以将以下代码添加到项目的 pom.xml 文件中,从而轻松地在应用程序中导入 JAR 文件
<repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url>https://repo.e-iceblue.cn/nexus/content/groups/public/</url> </repository></repositories><dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.pdf</artifactId> <version>5.1.0</version> </dependency></dependencies>
增加现有 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 文档保存到文件中。
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:UsersAdministratorDesktopsample.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文档保存到文件中。
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:UsersAdministratorDesktopsample.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); }}
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!