2013-08-05 17 views
6

Próbuję połączyć wiele działek pdf w jeden główny plik pdf.połączyć wiele działek pdf w jeden plik

Przykład:

Wejście: Mam trzy pliki pdf: "1.pdf", "2.pdf" i "3.pdf"

Wyjście: Jak połączyć te trzy działki w jednym plik o nazwie "combine.pdf"

Próbowałem za pomocą pdf() i pdftk(), ale jeszcze nie udany, może być coś brakuje mi po prostu. Pomyślałem, aby poprosić o pomoc. Bardzo doceniamy każdą odpowiedź.

+0

Nie możesz użyć pliku pdf jako wejścia dla 'R', potrzebujesz do tego edytora' pdf'. –

+0

'pdftk 1.pdf 2.pdf ... output output.pdf', zobacz http://www.accesspdf.com/pdftk/ –

Odpowiedz

5

Można użyć sweave/knitr aby uzyskać większą elastyczność i scalić łatwo nowych działek, stare i teksty:

\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

Dziękuję. To działa! – user961932

8

zadałem podobne pytanie jakiś czas temu i Ananda Mahto hojnie dać czas i kod, aby pomóc uczynić github package, które mogą łączyć wiele działek o różnych rozmiarach. Używam go trochę w moim przepływie pracy, ale nie mam zamiaru przekazywać go do CRAN, ale można go pobrać z pakietu devtools. Należy pamiętać, że trzeba mieć ghostscript zainstalowany i na swojej drodze do tego, aby pracować:

## Uzyskiwanie pakiet plotflow GitHub:

library(devtools) 
install_github("plotflow", "trinker") 
library(plotflow) 

## 2 przykłady korzystania z pakietu do łączenia wielu plików 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) 

Note th jeśli masz już pliki pdf, możesz zajrzeć do funkcji plotflow:::mergePDF.

Powiązane problemy