欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java PDF页面设置——页面大小、页边距、纸张方向、页面旋转

程序员文章站 2023-02-10 22:55:53
下面的示例将介绍通过Java编程来对PDF页面进行个性化设置的方法,包括设置页面大小、页边距、纸张方向、页面旋转等。这里有如下多种页面大小尺寸可供选择; 同时,设置文档内容旋转时,可支持如下角度进行内容旋转。 使用工具:Free Spire.PDF of Java (免费版) 关于jar文件引用: ......

下面的示例将介绍通过java编程来对pdf页面进行个性化设置的方法,包括设置页面大小、页边距、纸张方向、页面旋转等。这里有如下多种页面大小尺寸可供选择;

Java PDF页面设置——页面大小、页边距、纸张方向、页面旋转

同时,设置文档内容旋转时,可支持如下角度进行内容旋转。

Java PDF页面设置——页面大小、页边距、纸张方向、页面旋转

使用工具free spire.pdf of java (免费版)

关于jar文件引用:

步骤1步骤1:在java程序中新建一个文件夹可命名为lib。并将产品包中的2个jar文件复制到新建的文件夹下。

Java PDF页面设置——页面大小、页边距、纸张方向、页面旋转

步骤2复制文件后,添加到引用类库:选中这两个jar文件,点击鼠标右键,选择“build path” – “add to build path”。完成引用。

 Java PDF页面设置——页面大小、页边距、纸张方向、页面旋转

java示例(供参考)

import com.spire.pdf.*;
import com.spire.pdf.graphics.pdfmargins;
import java.awt.*;
import java.awt.geom.dimension2d;
import java.awt.geom.point2d;


public class pagesettings_pdf {
    public static void main(string[] args){
        //创建pdfdocument对象
        pdfdocument originaldoc = new pdfdocument();
        //加载pdf文件
        originaldoc.loadfromfile("input.pdf");

        //创建一个新的pdfdocument实例
        pdfdocument newdoc = new pdfdocument();

        //遍历所有pdf 页面
        dimension2d dimension2d = new dimension();
        for (int i = 0; i < originaldoc.getpages().getcount(); i++) {
            pdfpagebase page = originaldoc.getpages().get(i);           
            if (i == 0) {  
                //设置新文档第一页的页面宽、高为原来的1.2倍
                float scale = 1.2f;                
                float width = (float) page.getsize().getwidth() * scale;
                float height = (float) page.getsize().getheight() * scale;
                dimension2d.setsize(width, height);
                //设置新文档第一页的页边距为左右50,上下100
                pdfmargins margins = new pdfmargins(50, 100);
                pdfpagebase newpage = newdoc.getpages().add(dimension2d, margins);
                //复制原文档的内容到新文档
                newpage.getcanvas().drawtemplate(page.createtemplate(), new point2d.float());
            }
            
            if (i == 1) {
                //设置新文档第二页的页边距为左右100、上下100
                pdfmargins margins = new pdfmargins(100,100);
                //设置新文档第二页的页面大小为a3
                pdfpagebase newpage = newdoc.getpages().add(pdfpagesize.a3, margins);
                //调整画布,设置内容也根据页面的大小进行缩放
                double wscale = (pdfpagesize.a3.getwidth() - 10) / pdfpagesize.a3.getwidth();
                double hscale = (pdfpagesize.a3.getheight() - 10) / pdfpagesize.a3.getheight();
                newpage.getcanvas().translatetransform(wscale, hscale);
                //复制原文档的内容到新文档
                newpage.getcanvas().drawtemplate(page.createtemplate(), new point2d.float());
            }
            
            if (i == 2) {
                //设置新文档第三页的页边距为左右200,上下50
                pdfmargins margins = new pdfmargins(240, 50);
                //设置新文档第三页的页面大小为a3, 页面旋转角度为0,纸张方向为水平
                pdfpagebase newpage = newdoc.getpages().add(pdfpagesize.a3, margins, pdfpagerotateangle.rotate_angle_0, pdfpageorientation.landscape);
                //调整画布,设置内容也根据页面的大小进行缩放
                double wscale = pdfpagesize.a4.getheight() / page.getsize().getwidth();
                double hscale = pdfpagesize.a4.getwidth() / page.getsize().getheight();
                newpage.getcanvas().translatetransform(wscale, hscale);
                //复制原文档的内容到新文档
                newpage.getcanvas().drawtemplate(page.createtemplate(), new point2d.float());
            }
        
         //保存pdf
        newdoc.savetofile("pdfpagesetting.pdf");
    }
  }
}

完成代码后,运行程序,生成文档。经过页面设置,效果如下图所示:

 Java PDF页面设置——页面大小、页边距、纸张方向、页面旋转

(本文完)

 转载请注明出处!