当前位置: 移动技术网 > IT编程>开发语言>Java > Java PDF页面设置——页面大小、页边距、纸张方向、页面旋转

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

2019年02月13日  | 移动技术网IT编程  | 我要评论

神医异界风流,鸿润生态园,孙娜恩真面目

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

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

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

关于jar文件引用:

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

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

 

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");
    }
  }
}

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

 

(本文完)

 转载请注明出处!

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网