跳到内容
  • 福昕首页
  • 开发中心
  • SDK文档资料
  • 插件商店
  • 福昕首页
  • 开发中心
  • SDK文档资料
  • 插件商店
申请试用
  • 企业自动化
    • Compressor
  • 福昕CloudAPI
  • 福昕PDF SDK 软件开发工具包
    • 福昕PDF SDK(ActiveX)
    • 福昕PDF SDK(桌面/服务器)
    • 福昕PDF SDK(Plug-in)
    • 福昕 PDF SDK(安卓)
    • 福昕PDF SDK(iOS)
    • 福昕PDF SDK(Web)
  • 福昕管理控制台
    • 公有云
    • 私有云
    • 通用情况
  • 福昕阅读器
    • RMS插件
  • 福昕高级编辑器
    • AI助手
    • Mac版本
      • 常规问题
    • Windows版本
      • ECM集成
      • 互联PDF
      • 企业管理指南
      • 保护
      • 内容编辑
      • 创建PDF
      • 压缩
      • 图章
      • 安装与卸载
      • 常见问题
      • 打印
      • 注释/评论
      • 福昕插件
      • 翻译助手
      • 翻译助手教程
      • 试用与激活
      • 转换
      • 页面管理
    • 教育用户
      • 论文查重
      • 论文畅
      • 操作指南
    • 网页版
      • Foxit eSign
      • 电子签章
    • 订阅
    • 资源
  • 福昕高级编辑器Linux版本
  • 福船图纸管理系统
  • 福昕PDF SDK 软件开发工具包 > 福昕PDF SDK(桌面/服务器)
  • 标签:

GSDK如何缩放 PDF 页面内容并调整页面大小为 Letter 规格?调整过程中如何避免内容偏移?

  • 福昕知识库
  • 2025-12-08

Letter 是北美常用页面尺寸(8.5×11 英寸),对应 PDF 的 “点(pt)” 单位为 612×792pt(1pt=1/72 英寸)。调整页面大小需先缩放内容,再修改页面尺寸,具体如下:

核心尺寸说明

  • Letter 尺寸:宽度 612pt,高度 792pt;
  • A4 尺寸(对比):宽度 595pt,高度 842pt;
  • 原页面尺寸获取:通过page.getWidth()/page.getHeight()获取(单位:pt)。

完整示例(A4→Letter,等比例缩放 + 无偏移)

            PDFDoc doc = new PDFDoc("C:\\Users\\yang_leng\\Desktop\\设置页面大小.pdf");
            error_code = doc.load(null);
            if (error_code != e_ErrSuccess) {
                System.out.println(error_code);
            }
            //获取letter的宽高大小,用作计算比例系数
            PDFDoc doc1 = new PDFDoc();
            doc1.insertPage(0,e_SizeLetter);
            PDFPage page1 = doc1.getPage(0);
            float width1 = page1.getWidth();
            float height1 = page1.getHeight();

            //如果考虑文档页面不完全是同样,则需要分别计算系数
            PDFPage page2 = doc.getPage(0);
            float width2 = page2.getWidth();
            float height2 = page2.getHeight();

            //计算比例系数 转到Letter大小 page1/page2
            float scal_width = width1 / width2;
            float scal_height = height1 / height2;

            int pageCount = doc.getPageCount();

            for (int i = 0; i < pageCount; i++) {
                PDFPage page = doc.getPage(i);
                int rotation = page.getRotation(); //rotation = 0;

                page.startParse(e_ParsePageNormal, null, true);

                //6个参数 a b c d e f (矩阵变换)
                // ad是页面缩放比例、bc是旋转缩放比例、ef是PDF左下角坐标轴的原点
                Matrix2D matrix2D = new Matrix2D(scal_width, 0f, 0f, scal_height, 0f, 0f);
                //matrix2D 页面内容的矩阵变换
                //可剪辑的内容是否变换
                //注释是否变换
                page.transform(matrix2D, true, true);
                float height = page.getHeight();
                float width = page.getWidth();
                System.out.println("width:"+width);
                System.out.println("height:"+height);
                //rotation=0为前提,此时以页面左下角为远点
                //setSize是配合内容缩小时,页面同步缩小
                page.setSize(width * scal_width, height * scal_height);
                System.out.println("new width:"+width * scal_width);
                System.out.println("new height:"+height * scal_height);
            }
            doc.saveAs("C:\\Users\\yang_leng\\Desktop\\"+"设置页面大小_toLetter.pdf",e_SaveFlagNormal);
            doc1.saveAs("C:\\Users\\yang_leng\\Desktop\\"+"Letter.pdf",e_SaveFlagNormal);

相关内容

RDK Android 如何设置单页上下滑动翻页?

PDF转Word时,如何仅处理指定页面?

PDF和OFD如何批量互转?

Bitmap 类如何与其他的图像类互转?

打印管理PrintManager怎么判断文档打印是否完成?

软件如何打开嵌入在office文档中Adobe PDF图标

福昕高级PDF编辑器专业版如何在文档中嵌入一个3D模型

福昕高级PDF编辑器专业版如何实现对图片和文档内容添加马赛克

福昕高级PDF编辑器如何显示注释内容图标

福昕高级PDF编辑器如何添加和调整快速访问工具栏功能

推荐内容

RDK Android 如何设置单页上下滑动翻页?

PDF转Word时,如何仅处理指定页面?

PDF和OFD如何批量互转?

Bitmap 类如何与其他的图像类互转?

打印管理PrintManager怎么判断文档打印是否完成?

软件如何打开嵌入在office文档中Adobe PDF图标

福昕高级PDF编辑器专业版如何在文档中嵌入一个3D模型

福昕高级PDF编辑器专业版如何实现对图片和文档内容添加马赛克

福昕高级PDF编辑器如何显示注释内容图标

福昕高级PDF编辑器如何添加和调整快速访问工具栏功能

产品
  • 应用行业
  • 白皮书
开发支持
  • 开发中心
  • SDK文档资料

销售咨询:010-50951668

客服电话:0591-38509808

销售咨询
微信公众号

©2026 福建福昕软件开发股份有限公司 版权所有

隐私策略