2016-09-27 4 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.txt в Dimension.pdf.

Ваша помощь приветствуется.

Спасибо.

+2

You «гугл много «но ничего не видел» о 'knitr' или' sweave'? Это вряд ли или очень плохой поисковик. Читайте на 'knitr', и вы должны это понять. – hrbrmstr

+0

Ха-ха. Спасибо;) –

+0

Я не знаю, почему этот вопрос был опущен. К сожалению, люди приходят к тому, чтобы опросить вопрос, но некому дать продуктивный ответ. :) –

ответ

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 

, который дает вам PDF документ с именем my_text.pdf, который выглядит следующим образом: enter image description here

+0

У меня уже есть текстовый файл, мне нужно преобразовать его в pdf. Я не понимаю, что вы пытались сделать с ответом. –

+1

Вы читаете в своем текстовом файле, что я смоделировал с помощью 'my_text <- c (« Hello World »,« Here we go »)' вы сделали бы это через 'readLines', тогда вы примените к нему форматирование, чтобы каждая строка попала в новую line через 'cat (..., sep =" \ n ", ...)', а затем вы его преобразуете. Вы хотя бы попытались? – Rentrop

+0

Ну, я попробовал с помощью метода, который вы сказали, после того как я несколько раз провалился, я попытался использовать альтернативу. Я использовал файл text2pdf.exe, который работал хорошо. И теперь предлагаемое вами решение кажется более простым и элегантным. Большое спасибо :) –

1

Вы можете попробовать использовать функцию textGrob? Конечно, это потеряет все форматирование. Если вы хотите сохранить форматирование текста orignal, вы, вероятно, не должны использовать R, а один из многих PDF-принтеров, доступных в Интернете, и пакетный скрипт.

Edit:

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

Я обновил вопрос. Пожалуйста, смотрите. –

Смежные вопросы