我正在创建带有一些图的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()
没有收到错误消息,但是创建的文件没有页面。
有什么想法吗?我正在考虑仅绘制文本图的解决方法,但我希望有一个更合理的解决方案。
答案 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()
对于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
调用中使用不同的y
和font
坐标,paper
选项和pdf
格式进行自定义。