将多个PDF图形合并为一个文件

6

我试图将多个pdf图形合并成一个主pdf文件。

例如:

输入:我有三个pdf文件:“1.pdf”,“2.pdf”和“3.pdf”

输出:如何将这三个图形合并为一个名为“combine.pdf”的文件

我尝试使用pdf()和pdftk(),但还没有成功,可能是我错过了一些简单的东西。想要请求帮助。非常感激任何回应。


你不能将PDF文件作为R的输入,你需要使用PDF编辑器。 - Señor O
pdftk 1.pdf 2.pdf... output output.pdf,详见http://www.accesspdf.com/pdftk/。 - Roman Luštrik
4个回答

8
我之前问过类似的问题,Ananda Mahto慷慨地提供了时间和代码来帮助制作一个可以组合不同大小的多个图形的github包。我在我的工作流程中使用它,但没有计划将其推送到CRAN,但您可以使用devtools包下载它。请注意,您必须安装并将ghostscript添加到路径中才能使其正常工作: ## 获取plotflow github包:
library(devtools)
install_github("plotflow", "trinker")
library(plotflow)

## 使用该软件包合并多个pdf的两个示例

## Example 1
merge_pdf(3, file = "foo.pdf", widths = c(7, 7, 10), heights = c(6, 10, 7))
plot(1:10)
plot(1:10, pch=19)
plot(1:10, col="red", pch=19)

## Example 2
library(ggplot2)
p <- ggplot(mtcars, aes(factor(cyl), mpg)) + geom_boxplot()
merge_pdf(2, file = "bar.pdf", widths = c(7, 10), heights = c(6, 10))
plot(1:10)
print(p)

请注意,如果您已经拥有pdf文件,则可以查看plotflow:::mergePDF函数。

5

您可以使用sweave/knitr来获得更多的灵活性,并轻松地合并新的图形、旧的图形和文本:

\documentclass{article}
\usepackage{pdfpages}
\begin{document}
 this my plot 1:    % write some texts here
\includepdf{1.pdf} 
 this my plot 2:
\includepdf{2.pdf} 
 this my plot 3:
\includepdf{3.pdf} 
 this my plot 4:
\includepdf{4.pdf} 
 a new plot:
<<echo=FALSE>>=         % chunk for new plots
x <- rnorm(100)
hist(x)
@
\end{document}

0

在Linux中使用命令行提示符,如果您在同一目录中且.pdf文件按您想要的顺序排列,则可以使用以下命令:

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=Chart_Pak.pdf *.pdf


0
将以下代码包含到 PHP 脚本中:
shell_exec("gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dPDFFitPage -sPAPERSIZE=a4 -dFIXEDMEDIA -sOUTPUTFILE= abc.pdf xyz.pdf"); 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接