2016-09-27 63 views
0

我有它一定的數據的文本文件(比如Dimension.txt),文本PDF中的R

我想寫R中的函數,將這個文本文件轉換成PDF文件。

在我結束這裏之前,我搜索了很多東西。有很多地方人們問如何將PDF文件轉換爲文本,而不是反之亦然。

這裏是我的代碼:

FunctionFun <- function(.csv) 
{ 
    sink('Dimension.txt') 
    csv <- read.csv(.csv) 
    dimValue <- dim(csv) 
    print("The dimension of the dataset is:") 
    print(dimValue) 
    return(dimValue) 
    sink('Dimension.txt', append=TRUE) 
} 

當我運行FunctionFun("tips.csv"),我得到一個文本文件作爲輸出,它看起來像: enter image description here

現在,我的任務是寫一個單獨的函數這將轉換Dimension.txtDimension.pdf

您的幫助表示讚賞。

謝謝。

+2

你「用Google搜索了很多「但是沒有看到任何關於'knitr'或'sweave'的東西*?這不太可能或者真的很糟糕。閱讀'knitr',你應該能夠弄清楚這一點。 – hrbrmstr

+0

哈哈。謝謝;) –

+0

我不知道爲什麼這個問題downvoted。不幸的是,人們如何降低問題的質量,但沒有人能夠給出有效的答案。 :) –

回答

1

您可以執行以下操作使用

require(rmarkdown) 
my_text <- readLines("YOUR PATH") 
cat(my_text, sep=" \n", file = "my_text.Rmd") 
render("my_text.Rmd", pdf_document()) 
file.remove("my_text.Rmd") #cleanup 

它給你一個名爲my_text.pdf一個PDF文件,如下所示: enter image description here

+0

我已經有一個文本文件,我需要將其轉換爲pdf。我不明白你試圖用答案做什麼。 –

+1

你在你的文本文件中讀到了我通過'my_text < - c(「Hello World」,「這裏我們走了」)模擬的內容''你可以通過'readLines'來實現,然後你應用格式化,通過'cat(...,sep =「\ n」,...)行,然後轉換它。你至少試過了嗎? – Rentrop

+0

那麼,我試着用你說的方法,然後我反覆失敗後,我試着用另一種方法。我使用了text2pdf.exe文件,它運行良好。而現在,您提供的解決方案似乎更簡單,更優雅。非常感謝 :) –

1

您可以嘗試使用textGrob函數? 當然,這將失去所有格式。如果你想保持原有的文本格式,你可能不應該使用R,而應該使用在線的許多pdf打印機和批處理腳本之一。

編輯:

library(gridExtra) 

toPdf=function(textfile="pathToFile", pdfpath="pathToPdf"){ 
text=read.table(textfile, stringsAsFactors=FALSE) 
grb=textGrob(apply(text, 2, paste, collapse="\n")) 
pdf(pdfpath) 
grid.arrange(grb) 
dev.off() 
} 
+0

那麼,你的意思是說沒有辦法做到這一點? –

+0

你能舉一個你想要的東西的例子嗎? – Xizam

+0

我更新了問題。請看一看。 –