如何在不降价的情况下将文本打印或编入R中的pdf()中

时间:2019-06-28 15:16:21

标签: r pdf export-to-pdf

我正在创建带有一些图的PDF文件,但我想在底部也包含一些文本消息。由于无法控制的原因,我无法在该系统上安装乳胶发行版,因此无法编织降价文件,而必须使用 using System; using System.Collections.Generic; using System.Data.Entity; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Optimization; using System.Web.Routing; namespace Online_Exam_System { public class MvcApplication : System.Web.HttpApplication { protected void Application_Start() { Database.SetInitializer(new NullDatabaseInitializer<ExamDbContext>()); AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters (GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); } }

当我只使用pdf()print时,pdf中没有任何显示。我根据here的回答尝试使用cat,但这也不起作用:

sink()

没有收到错误消息,但是创建的文件没有页面。

有什么想法吗?我正在考虑仅绘制文本图的解决方法,但我希望有一个更合理的解决方案。

1 个答案:

答案 0 :(得分:2)

我们只需在text设备中使用pdf绘制文本即可。 text仅在plot调用后有效。我们不必取消所有操作,因此我们称plot.new基本上是一个空图。查看?pdf?text选项以进一步自定义。

txt <- "message"

pdf("filename2.pdf", paper="a4")
plot.new()
text(x=.1, y=.1, txt)  # first 2 numbers are xy-coordinates within [0, 1]
text(.5, .5, txt, font=2, cex=1.5)
text(.9, .9, txt, font=4, cex=2, col="#F48024")
dev.off()

enter image description here

对于sink解决方案,请使用cat并在文本的末尾添加一个回车符\r,以获得用于pdf处理的有效最后一行。 .txt个文件。

sink("filename.txt")  # to be found in dir `getwd()`
cat("message\r")
sink()

pdf("filename.pdf")  # ditto
plot.new()
text(.5, .5, readLines("filename.txt"))
dev.off()

x调用中使用不同的yfont坐标,paper选项和pdf格式进行自定义。

结果

enter image description here