冰蓝科技
|
028-81705109
|
|
微信扫一扫
|

Spire.Cloud 纯前端文档控件

PDF 格式现已成为共享和保存文档的标准。在处理 PDF 文件时,您有时可能需要复制 PDF 中的特定页面,以提取有价值的内容、创建摘要或仅共享相关部分而不分发整个文档。在本文中,您将学习如何使用 Spire.PDF for Python 通过 Python 复制 PDF 中的页面。

安装 Spire.PDF for Python

本教程需要用到 Spire.PDF for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。

pip install Spire.PDF

如果您不清楚如何安装,请参考: 如何在 Windows 中安装 Spire.PDF for Python

Python 在同一 PDF 中复制页面

要复制 PDF 页面,可以先基于 PDF 中指定页面的内容创建模板,然后通过 PdfPageBase.Canvas.DrawTemplate() 方法将模板绘制到新添加的页面上。具体步骤如下:

  • Python
from spire.pdf.common import *
from spire.pdf import *

# 创建PdfDocument对象
pdf = PdfDocument()

# 加载PDF文件
pdf.LoadFromFile("示例.pdf")

# 获取第一页
page = pdf.Pages.get_Item(0)

# 获取页面大小
size = page.Size

# 基于该页面创建模板
template = page.CreateTemplate()

# 在文档指定位置插入新页面
page = pdf.Pages.Insert(2, size, PdfMargins(0.0))
# 在文档末尾添加新页面 
# page = pdf.Pages.Add(size, PdfMargins(0.0))

# 将模板绘制到新页面上
page.Canvas.DrawTemplate(template, PointF(0.0, 0.0))

# 保存结果文件
pdf.SaveToFile("同一PDF复制页面.pdf");
pdf.Close()

Python 复制 PDF 页面

Python 在不同 PDF 之间复制页面

Spire.PDF for Python 还可以加载两个 PDF 文件,基于其中一个 PDF 文件中的页面内容创建模板,然后将其绘制到另一个 PDF 文件的页面上。具体步骤如下:

  • Python
from spire.pdf.common import *
from spire.pdf import *

# 加载第一个PDF文档
pdf1 = PdfDocument()
pdf1.LoadFromFile("示例.pdf")

# 加载第二个PDF文档
pdf2 = PdfDocument()
pdf2.LoadFromFile("考核.pdf")

# 获取第一个文档中的第一页
page = pdf1.Pages.get_Item(0)

# 获取页面大小
size = page.Size

# 基于该页面创建模板
template = page.CreateTemplate()

# 在第二个文档的指定位置插入新页面
newPage = pdf2.Pages.Insert(0, size, PdfMargins(0.0))
# 在第二个文档的末尾添加新页面
# newPage = pdf2.Pages.Add(size, PdfMargins(0.0))

# 将模板绘制到新页面上
newPage.Canvas.DrawTemplate(template, PointF(0.0, 0.0))

# 保存结果文档
pdf2.SaveToFile("在不同PDF之间复制页面.pdf")
pdf2.Close()

Python 复制 PDF 页面

申请临时 License

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。

Spire.Office 9.10.0 已发布。在该版本中,Spire.PDF 支持在转换 PDF 到 Markdown 时忽略图片以及在使用 Chrome 插件转换 HTML 到 PDF 时输出日志;Spire.Doc 新增方法用于跟踪文档元素的添加、删除以及文本内容的更改;Spire.XLS 支持 ARRAYTOTEXT、ARABIC、BASE、COMBINA 和 XOR 公式。此外,该版本还成功修复了大量已知问题。详情请阅读以下内容。

版本信息如下:

获取 Spire.Office 9.10.0 请点击:

https://www.e-iceblue.cn/Downloads/Spire-Office-NET.html


Spire.PDF

新功能:

问题修复:


Spire.Doc

新功能:

问题修复:


Spire.XLS

新功能:

问题修复:

Spire.XLS 14.10.2 现已发布。该版本支持 ARRAYTOTEXT、ARABIC、BASE、COMBINA 和 XOR 公式,还支持嵌入图片到单元格以及获取单元格的 NamedRange。此外,一些在转换 Excel 到 PDF、获取页数和导出数据时出现的问题也已成功解决。新功能及问题修复详情如下。

新功能:

问题修复:


下载 Spire.XLS 14.10.2,请点击:

https://www.e-iceblue.cn/Downloads/Spire-XLS-NET.html

Spire.Office for Java 9.10.0 已发布。在最新版本中,Spire.Doc for Java 增强了 Markdown 到 Word 的转换功能;Spire.PDF for Java 支持使用 Chrome 插件转换 HTML 到 PDF;Spire.Presentation for Java 支持查找第一个出现的文本;Spire.OCR for Java 支持扫描图片流。此外,本次更新还修复了许多已知问题。详情请阅读以下内容。

获取 Spire.Office for Java 9.10.0 请点击:

https://www.e-iceblue.cn/Downloads/Spire-Office-JAVA.html


Spire.Doc for Java

问题修复:


Spire.PDF for Java

新功能:

问题修复:


Spire.Presentation for Java

新功能:

问题修复:


Spire.OCR for Java

新功能:

问题修复:

Spire.PDF for Java 10.10.7 已发布。该版本新增支持使用 Chrome 插件转换 HTML 到 PDF。本次更新还增强了 HTML、SVG 和 OFD 到 PDF 以及 PDF 到图片的转换功能。此外,一些已知问题也在该版本中成功修复,如设置附件的自定义属性不生效的问题。详情请阅读以下内容。

新功能:

问题修复:


获取 Spire.PDF for Java 10.10.7 请点击:

https://www.e-iceblue.cn/Downloads/Spire-PDF-JAVA.html

Spire.Cloud 9.10.10 已发布。该版本支持给 Word 文档在线添加签名,同时也支持默认启用修订无标记模式(即默认接受修订)。此外,一些已知问题也在该版本中被成功修复,如编辑器打开 Excel 文档,下拉框丢失的问题。详情请查看以下内容:

新功能:

问题修复:


获取 Spire.Cloud 9.10.10 请点击:

https://cloud.e-iceblue.cn/index.php/privatization-download

了解 PDF 的页数有助于了解文档的长度,这在需要处理大量 PDF 文档的情况下尤其有用,例如日常办公、学术研究或法律文档管理。通过获取 PDF 页数,您可以估算处理文档所需的时间,从而合理安排任务并提高效率。本文将介绍如何使用 Spire.PDF for Java 通过 Java 获取 PDF 文件的页数。

安装 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/repository/maven-public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.pdf</artifactId>
        <version>12.9.0</version>
    </dependency>
</dependencies>

Java 获取 PDF 文档页数

Spire.PDF for Java 提供的 PdfDocument.getPages().getCount() 方法可在不打开 PDF 文件的情况下快速获取 PDF 文件的页数。具体步骤如下:

  • Java
import com.spire.pdf.PdfDocument;

public class CountPdfPages {

    public static void main(String[] args) {

        //创建PdfDocument对象
        PdfDocument pdf = new PdfDocument();

        //加载PDF文件
       pdf.loadFromFile("制度.pdf");

        //计算PDF文件的页数
        int pageCount = pdf.getPages().getCount();

        //输出结果
        System.out.print("该PDF文档的总页数为: " + pageCount);
    }
}

Java 获取 PDF 文档页数

申请临时 License

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。

如果原始文档的页边距或边框过大,而预期用途又不需要,那么裁剪 PDF 页面就特别有用。通过裁剪页面,您可以保留指定区域用于特定用途,使文档在共享、打印或演示时更加高效。本文将介绍如何使用 Spire.PDF for .NET 通过 C# 裁剪 PDF 中的页面。

安装 Spire.PDF for .NET

首先,您需要添加 Spire.PDF for .NET 包中包含的 DLL 文件作为 .NET 项目中的引用。DLL 文件可以从此链接下载或通过 NuGet 安装。 
PM> Install-Package Spire.PDF

C# 裁剪 PDF 页面

Spire.PDF for .NET 允许您指定一个矩形区域,然后使用 PdfPageBase.CropBox 属性裁剪页面中的指定区域。具体步骤如下:

  • C#
using Spire.Pdf;
using System.Drawing;

namespace CropPDFPage
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建PdfDocument对象
            PdfDocument pdf = new PdfDocument();

            //加载PDF文件
            pdf.LoadFromFile("示例文档.pdf");

            //获取第一张页面
            PdfPageBase page = pdf.Pages[0];

            //按指定区域裁剪页面
            page.CropBox = new RectangleF(0, 50, 600, 320);

            //保存结果文件
            pdf.SaveToFile("裁剪PDF.pdf");
            pdf.Close();
        }
    }
}

C# 裁剪 PDF 页面

C# 裁剪 PDF 页面并导出为图片

为了完成这项任务,你可以使用 PdfDocument.SaveAsImage(int pageIndex, PdfImageType type) 方法将裁剪过的 PDF 页面转换为图像。具体步骤如下:

  • C#
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
using System.Drawing.Imaging;

namespace CropPDFPage
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建PdfDocument对象
            PdfDocument pdf = new PdfDocument();

            //加载PDF文件
            pdf.LoadFromFile("示例文档.pdf");

            //获取第一张页面
            PdfPageBase page = pdf.Pages[0];

            //按指定区域裁剪页面
            page.CropBox = new RectangleF(0, 50, 600, 320);

            //将页面转换为图片
            Image image = pdf.SaveAsImage(0, PdfImageType.Bitmap);

            //将图像保存为PNG文件
            image.Save("导出为PNG图片.png", ImageFormat.Png);

            //将图像保存为JPG文件
            //image.Save("导出为JPG图片.jpg", ImageFormat.Jpeg);

            //将图像保存为BMP文件
            //image.Save("导出为BMP图片.bmp", ImageFormat.Bmp);
        }
    }
}

C# 裁剪 PDF 页面

申请临时 License

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。

Spire.OCR for Java 1.9.19 现已正式发布,最新版本支持扫描图片流,并且新增了 OCR 使用的新模型。此外,一些已知问题也在此次升级更新中被成功修复,比如在 Ubuntu 系统上识别图片抛异常的问题。更多详情请阅读下面的内容。

新功能:

问题修复:


获取 Spire.OCR for Java 1.9.19,请点击:

https://www.e-iceblue.com/Download/ocr-for-java.html

Spire.Doc 12.10.13 已发布。本次更新增强了 Word 到 PDF 的转换功能。此外,该版本还修复了替换书签中的段落文本后段落缩进丢失的问题。详情请阅读以下内容。

问题修复:


获取 Spire.Doc 12.10.13,请点击:

https://www.e-iceblue.cn/Downloads/Spire-Doc-NET.html