Linux 安装pdfjam (PDF文件尺寸调整)

跟Ghostscript搭配使用,这样就可以将不同尺寸的PDF调整到相同尺寸合并了。

在 CentOS 上安装 `pdfjam` 需要安装 `TeX Live`,因为 `pdfjam` 是基于 `TeX Live` 的。以下是详细的步骤来安装 `pdfjam`:

### 步骤 1: 安装 EPEL 仓库

首先,安装 EPEL 仓库,因为它包含了 `TeX Live` 包:

```sh
sudo yum install epel-release
```

### 步骤 2: 安装 TeX Live

接下来,安装 `TeX Live`。这个过程可能会比较长,因为 `TeX Live` 包含很多工具和依赖项:

```sh
sudo yum install texlive
```

### 步骤 3: 安装 pdfjam

在安装 `TeX Live` 之后,安装 `pdfjam`:

```sh
sudo yum install pdfjam
```

### 验证安装

安装完成后,可以通过运行以下命令来验证 `pdfjam` 是否安装成功:

```sh
pdfjam --version
```

如果显示了版本信息,则表示 `pdfjam` 安装成功。

### 使用 pdfjam

安装成功后,可以使用 `pdfjam` 来调整和合并 PDF 文件。以下是使用 `pdfjam` 的示例:

```sh
pdfjam --outfile output.pdf input1.pdf input2.pdf
```

这个命令将合并 `input1.pdf` 和 `input2.pdf` 并输出到 `output.pdf`。

### 在 PHP 中使用 pdfjam

如果你想在 PHP 脚本中使用 `pdfjam`,可以像之前示例中展示的那样:

```php
<?php
function mergePdfsUsingPdfjam($input1, $input2, $output) {
    // Command to merge PDFs using pdfjam
    $command = "pdfjam --outfile $output $input1 $input2";
    
    // Execute the command
    shell_exec($command);
}

// Paths to your PDF files
$input1 = "/path/to/input1.pdf";
$input2 = "/path/to/input2.pdf";
$output = "/path/to/output.pdf";

// Merge the PDFs
mergePdfsUsingPdfjam($input1, $input2, $output);

// Output a success message
if (file_exists($output)) {
    echo "PDFs have been successfully merged into $output";
} else {
    echo "Failed to merge PDFs";
}
?>
```

这个 PHP 脚本将调用 `pdfjam` 命令来合并 PDF 文件,并在操作成功后输出相应的消息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/40701.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot集成tika解析word,pdf,xls文件文本内容

介绍 Apache Tika 是一个开源的内容分析工具包&#xff0c;用于从各种文档格式中提取文本和元数据。它支持多种文档类型&#xff0c;包括但不限于文本文件、HTML、PDF、Microsoft Office 文档、图像文件等。Tika 的主要功能包括内容检测、文本提取和元数据提取。 官网 https…

python入门详细介绍

Python 是一种广泛使用的高级编程语言&#xff0c;以其清晰的语法和代码可读性而闻名。它支持多种编程范式&#xff0c;包括面向对象、命令式、函数式和过程式编程。Python 由 Guido van Rossum 于1989年底发明&#xff0c;第一个公开发行版发行于1991年。 Python 的特点&…

java-初始化Map快捷装数据

*单个Map创建 Map<String, String> stringStringMap Collections.singletonMap("reason", "同意");使用匿名类初始化Map List<Map<String,Object>> mapListnew ArrayList<>();mapList.add(new HashMap<String, Object>() {…

基于STM32F407ZG的FreeRTOS移植

1.从FreeRTOS官网中下载源码 2、简单分析FreeRTOS源码目录结构 2.1、简单分析FreeRTOS源码根目录 &#xff08;1&#xff09;Demo&#xff1a;是官方为一些单片机移植FreeRTOS的例程 &#xff08;2&#xff09;License&#xff1a;许可信息 &#xff08;3&#xff09;Sourc…

《中国品牌网》揭秘格行品牌崛起之路:如何从混乱市场中杀出重围,领跑未来?

在随身WiFi行业乱象丛生的背景下&#xff0c;格行品牌凭借其独特的经营理念和长期主义的精神&#xff0c;逐渐崭露头角&#xff0c;成为行业的领跑者。近日&#xff0c;《中国品牌网》记者专访了格行品牌的创始人刘永先先生&#xff0c;就他的经营理念、市场策略以及未来展望进…

如何在 Odoo 16 中对 Many2Many 字段使用 Group by

Many2many 字段与 Many2one 字段类似,因为它们在模型之间建立了新的关系。在Odoo 16中,您无法按 many2many 字段分组,因为可以使用 many2many 记录选择任何记录。当您使用 many2many 字段给出 group by 过滤器时,您将遇到断言错误。 介绍如何在 Odoo 16 中使用 Many2Many…

AIGC | 为机器学习工作站安装NVIDIA 4070 Ti Super显卡驱动

[ 知识是人生的灯塔&#xff0c;只有不断学习&#xff0c;才能照亮前行的道路 ] 0x00 前言简述 话接上篇《AIGC | Ubuntu24.04桌面版安装后必要配置》文章&#xff0c;作为作者进行机器学习的基础篇&#xff08;筑基期&#xff09;&#xff0c;后续将主要介绍机器学习环境之如何…

6-google::protobuf命名空间下常用的C++ API----repeated_field.h

#include <google/protobuf/repeated_field.h> namespace google::protobuf 所生成的协议消息类使用RepeatedField和RepeatedPtrField来操作重复字段。 这些类与STL的vector非常相似&#xff0c;但包含了许多优化&#xff0c;这些优化被发现特别适用于协议缓冲区的情况。…

【优化论】基本概念与细节

优化论&#xff08;Optimization Theory&#xff09;是数学和计算机科学中一个重要的分支&#xff0c;旨在寻找给定问题的最优解。这个领域的应用非常广泛&#xff0c;从经济学、工程学到机器学习、金融等各个领域都有其踪迹。我们可以通过一系列直观的比喻来理解优化论的基本概…

Python编译器的选择

了解如何使用一个集成开发环境&#xff08;IDE&#xff09;对于 Python 编程是非常重要的。IDE 提供了代码编辑、运行、调试、版本控制等多种功能&#xff0c;可以极大地提升开发效率。以下是一些流行的 Python IDE 和代码编辑器的介绍&#xff0c;以及如何开始使用它们&#x…

Python + 在线 + 文生音,音转文(中文文本转为英文语音,语音转为中文文本)

开源模型 平台&#xff1a;https://huggingface.co/ars-语言转文本: pipeline("automatic-speech-recognition", model"openai/whisper-large-v3", device0 ) hf: https://huggingface.co/openai/whisper-large-v3 github: https://github.com/openai/wh…

kettle中调用restful接口时的SSL信任证书问题

1、找第三方获取SSL证书&#xff0c;&#xff08;本案例为自签名证书&#xff09; C:\Program Files\Java\jdk1.8.0_241\jre\lib\security>keytool -import -alias aliyun-maven -keystore cacerts -file E:\entSoftware\aliyun-maven.cer 输入密钥库口令: …………一堆证…

ubuntu系统盘扩容

目录 1 介绍 2 步骤 2.1 关闭虚拟机 2.2 编辑虚拟机设置 2.3 设置扩展大小 2.4 打开虚拟机 2.5 找到磁盘管理 2.6 扩展 1 介绍 本部分主要记述怎么给ubuntu系统盘扩展存储容量&#xff0c;整个过程相对简单&#xff0c;扩容方式轻松、容易。 2 步骤 2.1 关闭虚拟机 2…

前端面试题(CSS篇三)

一、简单介绍使用图片 base64 编码的优点和缺点。 base64是一种图片处理格式&#xff0c;通过特定的算法将图片编码为一长串字符串&#xff0c;在页面显示的时候&#xff0c;可以使用该字符串来代替图片的url属性。 使用base64的优点: 减少一个图片的http请求 使用base64的缺点…

电脑f盘的数据回收站清空了能恢复吗

随着信息技术的飞速发展&#xff0c;电脑已成为我们日常生活和工作中不可或缺的设备。然而&#xff0c;数据的丢失或误删往往会给人们带来极大的困扰。尤其是当F盘的数据在回收站被清空后&#xff0c;许多人会陷入绝望&#xff0c;认为这些数据已无法挽回。但事实真的如此吗&am…

1071. 字符串的最大公因子

1071. 字符串的最大公因子 题目链接&#xff1a;1071. 字符串的最大公因子 代码如下&#xff1a; class Solution { public:int gcd(int a,int b){return b0?a:gcd(b,a%b);}string gcdOfStrings(string str1, string str2) {if(str1str2!str2str1) {return ""…

WAIC 2024:科技界的摇滚狂欢,你错过了什么?

大数据产业创新服务媒体 ——聚焦数据 改变商业 2024年7月5日&#xff0c;WAIC 2024举办的第二天。数据猿作为受邀媒体&#xff0c;在今天继续亲历这一场关于未来的盛会。在这片汇聚了全球顶尖科技力量的舞台上&#xff0c;见证了人工智能领域的最新成果&#xff0c;感受到了科…

双人贪吃蛇代码分享

一. snake.h #include<stdio.h> #include<stdlib.h> #include<Windows.h> #include<stdbool.h> #include<locale.h> #include<time.h> #define Pos_x1 24 #define Pos_y1 5#define Pos_x2 24 #define Pos_y2 15 #define WALL L□#define …

大学生电子设计大赛超全资料分享

超全大学生电子设计大赛项目合集免费分享 电赛竞赛资料大全&#xff0c;新增竞赛空间电子设计资料。包含嵌入式硬件和软件开发的学习资料&#xff0c;包括PCB教程&#xff0c;单片机例程&#xff0c; 单片机课程设计毕业设计参考资料、项目设计方案&#xff0c;源码和开发文档…

分布式事务get global lock fail Xid 获取全局锁失败

问题如下&#xff1a; 解决方法&#xff1a;在发生报错的方法上添加本地事务