Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何以编程方式(或通过CLI)旋转PDF?_Linux_Pdf_Ghostscript_Suse - Fatal编程技术网

Linux 如何以编程方式(或通过CLI)旋转PDF?

Linux 如何以编程方式(或通过CLI)旋转PDF?,linux,pdf,ghostscript,suse,Linux,Pdf,Ghostscript,Suse,我需要能够以编程方式或从CLI顺时针或逆时针旋转PDF 我花了相当多的时间研究并尝试使用GhostScript旋转PDF(因为GS已经安装了其他原因),但没有任何结果,似乎没有任何旋转 我曾研究过使用pdftk,但它需要java库,我不希望在系统上安装java 我们甚至考虑过自己修改PDF文件,我们在这方面取得了一些成功,但我们还没有找到一种可靠的方法可以适用于所有PDF 因此,我的首选是利用系统上的现有资源实现这一目标。 我的#2偏好是尽可能对现有系统进行一些修改,以实现这一点 有问题的服务器

我需要能够以编程方式或从CLI顺时针或逆时针旋转PDF

我花了相当多的时间研究并尝试使用GhostScript旋转PDF(因为GS已经安装了其他原因),但没有任何结果,似乎没有任何旋转

我曾研究过使用pdftk,但它需要java库,我不希望在系统上安装java

我们甚至考虑过自己修改PDF文件,我们在这方面取得了一些成功,但我们还没有找到一种可靠的方法可以适用于所有PDF

因此,我的首选是利用系统上的现有资源实现这一目标。 我的#2偏好是尽可能对现有系统进行一些修改,以实现这一点

有问题的服务器正在使用Linux(OpenSuse 11)和PHP5.2,我已经安装了Ghostscript 9.0


任何建议都将不胜感激

您可以使用pdfpagesLaTeX软件包

\documentclass{article}
\usepackage{pdfpages}

\begin{document}
    \includepdf[angle=45]{document.pdf}
\end{document}
上面的LaTeX文档通过pdflatex编译,生成一个旋转45度的文档

还有一些工具(pdfpages的包装器),如pdfjam,可以直接从命令行使用:

$ pdfjam --suffix rotated45 --angle 45 --fitpaper true document.pdf

您可以使用pdfpagesLaTeX软件包

\documentclass{article}
\usepackage{pdfpages}

\begin{document}
    \includepdf[angle=45]{document.pdf}
\end{document}
上面的LaTeX文档通过pdflatex编译,生成一个旋转45度的文档

还有一些工具(pdfpages的包装器),如pdfjam,可以直接从命令行使用:

$ pdfjam --suffix rotated45 --angle 45 --fitpaper true document.pdf

有一种方法可以做到这一点,如果你可以的话

例如:

$convert originalfile.pdf-rotate newfile.pdf


但是,请注意,由于这是基于光栅的旋转,因此(通常)会明显降低质量并增加文件大小。

如果您可以的话,有一种方法可以做到这一点

例如:

$convert originalfile.pdf-rotate newfile.pdf



但是,请注意,由于这是基于光栅的旋转,因此(通常)会明显降低质量并增加文件大小。

您还没有说明如何使用Ghostscript执行此操作,但是如果你想使用pdfwrite设备,你需要设置/AutoRotatePages=/None,或者它会旋转最后一页,这样任何真实文本的大部分都是水平的。

你还没有说过如何使用Ghostscript来实现这一点,但是,如果你想使用pdfwrite设备,你需要设置/AutoRotatePages=/None,否则它会旋转最后一页,这样任何真实文本的主要部分都是水平的。

我不想讨论所有不起作用的排列,我希望实际看到GS旋转PDF的人会插话。但这里有一个尝试没有取得任何效果:
gs-sDEVICE=pdfwrite-sOutputFile=“/tmp/output.pdf”-dNOPAUSE-dAutoRotatePages=/None-c“setpagedevice”-f”/tmp/input.pdf”
也尝试过:
gs-sDEVICE=pdfwrite-sOutputFile=“/tmp/output.pdf”-dNOPAUSE-dAutoRotatePages=/None-c“90旋转setpagedevice”-“/tmp/input.pdf”
以及:
gs-sDEVICE=pdfwrite-sOutputFile=“/tmp/output.pdf”-dNOPAUSE-dautorotatepage=/None-c“90旋转”-f”/tmp/input.pdf“
…再举几个例子。/Orientation指的是介质的方向,而不是页面上的标记。您将需要旋转当前变换矩阵。setpagedevice可能会工作,尽管我还没有尝试过。显然,我需要一个示例文件来测试它。使用
setpagedevice
不需要骰子。就样本而言。。。到处都有大量的PDF可用,其中任何一个都应该提供一个很好的示例。只需在谷歌上搜索:
filetype:PDF
:)事实上,这里有一个很好的解决方案:
http://www.atmel.com/Images/doc1607.pdf
我真的想要一个你特别有问题的。我可以试试你提到的那一个。我不想讨论所有不起作用的排列,我希望那些看过PDF的人会插话。但这里有一个尝试没有取得任何效果:
gs-sDEVICE=pdfwrite-sOutputFile=“/tmp/output.pdf”-dNOPAUSE-dAutoRotatePages=/None-c“setpagedevice”-f”/tmp/input.pdf”
也尝试过:
gs-sDEVICE=pdfwrite-sOutputFile=“/tmp/output.pdf”-dNOPAUSE-dAutoRotatePages=/None-c“90旋转setpagedevice”-“/tmp/input.pdf”
以及:
gs-sDEVICE=pdfwrite-sOutputFile=“/tmp/output.pdf”-dNOPAUSE-dautorotatepage=/None-c“90旋转”-f”/tmp/input.pdf“
…再举几个例子。/Orientation指的是介质的方向,而不是页面上的标记。您将需要旋转当前变换矩阵。setpagedevice可能会工作,尽管我还没有尝试过。显然,我需要一个示例文件来测试它。使用
setpagedevice
不需要骰子。就样本而言。。。到处都有大量的PDF可用,其中任何一个都应该提供一个很好的示例。只需在谷歌上搜索:
filetype:PDF
:)事实上,这里有一个很好的解决方案:
http://www.atmel.com/Images/doc1607.pdf
我真的想要一个你特别有问题的。我可以试试你提到的那个。谢谢。是,此应用程序中安装了ImageMagick。不过,我确实希望避免光栅化旋转。顺便说一下,这确实有效。但不幸的是,质量根本无法使用。谢谢。是,此应用程序中安装了ImageMagick。不过,我确实希望避免光栅化旋转。顺便说一下,这确实有效。但不幸的是,质量根本无法使用。我很难让所有的依赖性排队来尝试这个。有没有一个好的存储库可以让yast安装它?我使用texlive latex中的
zypper安装latex,然后为pdfjam安装了一个RPM。T