2016-09-27 62 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

我更新了问题。请看一看。 –