首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将PDF文件旋转n个度,其中n不是90的倍数

将PDF文件旋转n个度,其中n不是90的倍数
EN

Stack Overflow用户
提问于 2012-11-27 06:46:07
回答 5查看 7.7K关注 0票数 7

我所面临的问题如下。我有一个源文档,src.pdf。

我需要将src.pdf的内容插入到target.pdf中,旋转为n度,其中n不是90的倍数。

任何帮助都将不胜感激,谢谢。

编辑1:

PDF不包含注释。

我可以使用任何依赖于实用程序的解决方案,或者编写我自己的代码,最好是用C#/Python/Ruby/Perl,但不限于一种语言。

该平台是Windows 2008 R2,我更喜欢使用现有的服务器,但Linux也是一种选择。已经安装了最新(稳定) GhostScript和pdftk。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-11-27 09:06:20

如果一种新语言不是问题,LateX可能是一种选择。您可以将pdf作为一个图形包含在tex文件中,并且您将能够使用专用的选项,如重新标度和旋转功能。然后,编译它以获得一个新的pdf。下面的代码非常简单,适用于我:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
\documentclass[a4paper]{article} 
\usepackage{graphicx}

\begin{document}

\includegraphics[scale=0.5,angle=10]{test.pdf} 

\end{document}

从这个pdf中:

我得到了这个新的:

不过,它需要一些手动调整才能得到你想要的.

票数 15
EN

Stack Overflow用户

发布于 2015-03-16 18:29:05

您可以像这样使用TexLive:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
\documentclass{article}
\usepackage{pdfpages}

\begin{document}
  \includepdf[pages={-},angle=30]{main}
\end{document}

它将旋转整个pdf -每一页!

然而,我不是那个想明白这一点的人-- 检查此线程以获得原始解决方案。 (给那个家伙一个分数!)

票数 7
EN

Stack Overflow用户

发布于 2012-11-27 08:08:08

因为您不需要处理注释,所以可以尝试使用您选择的任何PDF库来分解PDF字典并对页面内容进行解码。获得页面内容后,可以在页面的开头插入一个变换矩阵:cosθsinθ−sinθcosθ0 0。

我建议看一看来自Adobe的PDF参考文件,特别是关于转换矩阵的部分。

例如,如果您有以下页面内容对象(40 0 obj):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
10 0 obj % Page object
<< /Type /Page
/Parent 5 0 R
/Resources 20 0 R
/Contents 40 0 R
>>
endobj 
40 0 obj % Page content
BT
/F1 1 Tf
12 0 0 12 100 600 Tm
(Hello) Tj
ET
endobj

如果假定cos( 45 )=sin(45)=0.7,则希望将整个页面旋转45度,生成的页面内容如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
40 0 obj
0.7 0.7 -0.7 0.7 0 0 cm
BT
/F1 1 Tf
12 0 0 12 100 600 Tm
(Hello) Tj
ET
endobj

添加完转换矩阵后,可以重新编写PDF文件.然后,您选择的库应该根据需要添加压缩过滤器和编码过滤器。

例如,iText可以分解和重新组合PDF文件。有关详细信息,请参阅方法PdfReader.getPageContent。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13586726

复制
相关文章
将数组旋转90度(旋转图像)
You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwise).
用户5513909
2023/04/25
1.7K0
将数组旋转90度(旋转图像)
面试题-python3 将N(N<10000)个人排成一排,从第1个人开始报数;如果报数是M的倍数就出列
某大厂迎来了新入职的大学生,现在需要为每个新同事分配一个工号。 人力资源部同事小V设计了一个方法为每个人进行排序并分配最终的工号,具体规则是: 将N(N<10000)个人排成一排,从第1个人开始报数;如果报数是M的倍数就出列,报到队尾后则回到对头继续报, 直到所有人都出列;最后按照出列顺序为每个人依次分配工号
上海-悠悠
2021/06/24
1K0
巨头宣布:裁员超90%,补偿N+3
推荐阅读: 《ChatGPT大规模封号...》 《又爆了...》 1 裁员90%。 3月马上快过去的时候,又一个巨头宣布裁员,并且力度极大裁员90%。 这家公司就是 Hulu 北京,可能很多读者不了解这是一个什么样的公司,网上帮大家查了一下。 hulu是美国的一个视频网站。该网站由美国国家广播环球公司(NBC Universal)和福克斯在2007年3月共同注册成立。 2019年,被迪士尼和康卡斯特收购。总部位于美国洛杉矶,并在包括洛杉矶、纽约、芝加哥、北京等地设有共计8个办公室及研发中心。 北京是仅次于
纯洁的微笑
2023/04/04
5980
巨头宣布:裁员超90%,补偿N+3
HDOJ 2028 Lowest Common Multiple Plus(n个数的最小公倍数)
Input 输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。
谙忆
2021/01/20
6620
Android 读写文件的N种写法
Android 读写文件的N种写法(待续。。。) 读取raw文件 // 读取raw文件 private void rawRead(){ String ret = ""; try { InputStream is = getResources().openRawResource(R.raw.my_raw); int len = is.available(); byte []buffer = new byte[len]; is.read(buff
阳光岛主
2019/02/19
3.2K0
python将整数均分成N等分
在python中,需要将整数均分成N等分。python divide integers N equal parts sum
机器学习和大数据挖掘
2019/07/01
3.7K0
MapReduce:N keys,N files
MapReduce中,不管是map阶段还是reduce阶段,二者的输入和输出都是key,value类型的值。现在有个需求是根据map阶段返回值key的个数,生成相应个数的文件。也就说一个key写到一个文件中,每个文件只能包含一个key。
YG
2018/12/14
8230
Linux文件随机抽取N行
有时候需要从大文件中随机抽取N行出来进行模拟,但是用python或者别的语言感觉不太方便,linux下直接分割感觉会更快捷。一般可以考虑以下的方法:
生信编程日常
2020/05/26
8.8K0
常见算法的时间复杂度 Ο(1)<Ο(log2n)<Ο(n)<Ο(nlog2n)<Ο(n2)<Ο(n3)<…
说实话,我是真的不懂算法。但是,我知道一个算法的好坏,通常时间复杂度是一个评价的指标之一。
业余草
2019/06/20
8.6K0
Python如何将图像向右旋转90度
如果直接套用PIL和OpenCV3图像处理库的旋转函数,旋转后保存的图像会留黑边,下面给出我实际测试后旋转图像不留黑边的代码:
嵌入式视觉
2022/09/05
2.1K0
Python如何将图像向右旋转90度
python读取文件末尾N行
# -*- coding: cp936 -*- import os,sys,re def lastline(): global pos while True: pos = pos - 1 try: f.seek(pos, 2) #从文件末尾开始读 if f.read(1) == '\n': break except: #到达文件第一行,直接读取
py3study
2020/01/13
3.3K0
python删除N天前文件
#/usr/bin/env python # -*- coding:utf-8 -*- #Author='Jun' import os import sys import time def removefiles(beftime, defalutpath='.'):     for i in os.listdir(path):         filename = path + os.sep + i         if os.path.getmtime(filename) < beftime:     
py3study
2020/01/09
6330
MapReduce:N keys,N files(二)
如果你看了MapReduce:N keys,N files(一)这篇文章,并按其介绍的方法尝试去将N个key映射到N的文件中,你会发现分割后数据量比分割前的要多,并且有些文件不能正常读取。 用presto读取的话,可能会报这种错:
YG
2018/12/14
8060
python与分形0012 - 【教程】旋转的彩色N边形(圆盘)
注:gif动图上传有1M限制,这个图被压缩了91.83%,原图更酷炫,看文末视频。
滚神大人
2021/12/01
6250
python与分形0012 - 【教程】旋转的彩色N边形(圆盘)
i18n、g11n、l10n
I18N --是“Internationalization” 的缩写,通常缩写为“I18N” 。中间的 18 代表在首字母“I” 和尾字母“N” 之间省略了 18 个字母。单词“Internationalization” 翻译成中文是“ 国际化” 的意思-是使产品或软件具有不同国际市场的普遍适应性,从而无需重新设计就可适应多种语言和文化习俗的过程。真正的国际化要在软件设计和文档开发过程中,使产品或软件的功能和代码设计能处理多种语言和文化习俗,具有良好的本地化能力。
Yiiven
2022/12/15
1.4K0
N皇后
说明: N皇后问题是一个以国际象棋为背景的问题:如何能够在N×N的国际象棋棋盘上放置N个皇后,使得任何一个皇后都无法直接吃掉其他的皇后。为了达到此目的,任两个皇后都不能处于同一条横行、纵行或斜线上。 解法: N个皇后中任意两个不能处在同一行,所以每个皇后必须占据一行,及一列。我们采用回溯法的思想去解。首先摆放好第0行皇后的位置,然后在不冲突的情况下摆放第1行皇后的位置。到第j行时,如果没有一个位置可以无冲突的摆放皇后,则回溯到第j-1行,寻找第j-1行皇后的下一个可以摆放的位置。 总结一下,用回溯法解
mathor
2018/06/22
7370
PHP 画图形 N行N列
写一个函数需要一个参数,根据这个参数输出一个图形 <?php /* 算法二、写一个函数需要一个参数,根据这个参数输出一个图形, 比如:输入4: 4 5 6 7 15
Marco爱吃红烧肉
2021/12/24
9280
linux定时删除N天前的文件(文件夹)
近期在业务中,给定的磁盘只有22T容量,为了避免爆盘,业务需要定时清除数据,根据网上的资料总结了一下设置方法:可以使用find命令
码农编程进阶笔记
2021/07/19
13.2K0
文件侠告诉你,Python复制文件的N种姿势!
其实这段代码从实现上看没有任何问题,也非常完美,不过这里有一个问题。项目使用了Python语言,而Python语言拥有强大的API后援团。对于复制文件这样的基础操作,不可能没有现成的API,难道非要写n行代码才能搞定吗?尽管代码实现没有任何问题,但有现成的API(这里指的是官方原生的API)为何不用呢?而且Python的API都是经过成千上万人验证的,出错几率很低。如果自己写代码,很可能会引入未知的bug。所以,这里对广大初学者的建议是:如果有现成API,应该尽量使用现成的API,没有必要什么都自己实现(想炫耀自己牛叉的除外)。
蒙娜丽宁
2021/02/19
13.5K0
文件侠告诉你,Python复制文件的N种姿势!
linux定时删除N天前的文件(文件夹)
近期在业务中,给定的磁盘只有22T容量,为了避免爆盘,业务需要定时清除数据,根据网上的资料总结了一下设置方法:可以使用find命令
全栈程序员站长
2022/07/19
2.4K0

相似问题

如何将N x N矩阵旋转90度?

56

旋转M*N矩阵(90度)

20

90*n次连续旋转矩阵

12

配置GhostScript以旋转页面输出,而不是90度的倍数(PDF => PNG)

15

解释N×N矩阵旋转90度的一种算法

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文