我想在现有的pdf中写点东西。我迄今为止所做的=
public void certificate()
{
//get user info using UserId from database
//UserDetail UserDetail = db.UserDetails.Where(x => x.UserId == UserId).FirstOrDefault();
string oldFile = Server.MapPath("~/Content/img/tsms/Certificate/Certificate-of-Completion-Award-Template-Blue.pdf");
string newFile = Server.MapPath("~/Content/img/tsms/Certificate/newFile.pdf");
// open the reader
PdfReader reader = new PdfReader(oldFile);
Document document = new Document(new Rectangle(288f, 144f), 10, 10, 10, 10);
document.SetPageSize(PageSize.A4);
// open the writer
FileStream fs = new FileStream(newFile, FileMode.Create, FileAccess.Write);
PdfWriter writer = PdfWriter.GetInstance(document, fs);
document.Open();
// the pdf content
PdfContentByte cb = writer.DirectContent;
// select the font properties
BaseFont bf = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
cb.SetColorFill(BaseColor.DARK_GRAY);
cb.SetFontAndSize(bf, 8);
// write the text in the pdf content
cb.BeginText();
string text = "Some random blablablabla...";
// put the alignment and coordinates here
cb.ShowTextAligned(1, text, 520, 640, 0);
cb.EndText();
// write the text in the pdf content
cb.BeginText();
text = "Other random blabla...";
// put the alignment and coordinates here
cb.ShowTextAligned(2, text, 100, 200, 0);
cb.EndText();
// create the new page and add it to the pdf
PdfImportedPage page = writer.GetImportedPage(reader, 1);
cb.AddTemplate(page, 0, 0);
// close the streams and voilá the file should be changed :)
document.Close();
fs.Close();
writer.Close();
reader.Close();
}
这是工作。我的问题是:我提供的文档< code>old document处于横向模式。我希望新文档为横向模式。但这为我提供了纵向模式的pdf。所以我试着.....
更新1=
document.SetPageSize(PageSize.A4.Rotate());
这也不起作用。。
此外,新的文字,我正在添加到旧的pdf格式,显示在旧的网页下...
对于您的另一个问题“从旧的pdf创建新的pdf itextsharp。net MVC”我解释了为什么页面会旋转,以及如何消除这种现象。
但是,在这里,很明显您的任务是填写该证书。此任务不应通过PdfReader
/PdfWriter
对(用于创建一个新文档,其中包含来自其他文档的一页或两页的副本)来实现,而是通过PdfReader
/PdfStamper
对(用于操作现有PDF,例如表单填充)来实现。
使用这种技术,你的代码可能看起来像这样:
using (PdfReader reader = new PdfReader(oldFile))
using (FileStream fs = new FileStream(newFile, FileMode.Create, FileAccess.Write))
using (PdfStamper stamper = new PdfStamper(reader, fs))
{
PdfContentByte cb = stamper.GetOverContent(1);
BaseFont bf = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
cb.SetColorFill(BaseColor.DARK_GRAY);
cb.SetFontAndSize(bf, 8);
// write the text in the pdf content
cb.BeginText();
string text = "Some random blablablabla...";
// put the alignment and coordinates here
cb.ShowTextAligned(1, text, 640, 520, 0);
cb.EndText();
// write the text in the pdf content
cb.BeginText();
text = "Other random blabla...";
// put the alignment and coordinates here
cb.ShowTextAligned(2, text, 100, 200, 0);
cb.EndText();
}
导致
问题内容: 我试图在横向模式下仅强制应用程序中的一个视图, 该视图以纵向模式启动,并且在更改设备方向时保持旋转。 从不调用shouldAutorotate。 任何帮助,将不胜感激。 问题答案: 它对其他人可能有用,我找到了一种强制视图以横向模式启动的方法: 把它放在viewDidLoad()中: 和,
我试图在横向模式下强制应用程序中只有一个视图,我调用: 视图以纵向模式启动,并在更改设备方向时保持旋转。永远不会调用shouldAutorotate()方法。 任何帮助都将不胜感激。
我完成了我的iOS应用程序,但我只需要将一个视图设置为横向模式,其余的视图只能在竖屏中看到。 我使用的是Xcode 5.1,我通过从右侧面板中插入情节提要视图控制器创建了所有视图,因此如果您要告诉我在什么地方编写代码,请确切告诉我需要在哪里编写。 我在这里读到了一个解决方案UINavigationController强制旋转,但我不知道该在哪里编写代码。是否需要手动创建一个UIViewContro
我们计划通过传递html文本作为输入,在横向模式下生成一个pdf。此外,pdf是在横向模式下生成的,而内容是在纵向模式下。以下是我们用来执行上述要求的步骤。 1)从源系统接收xml内容。 2) 使用xsl从xml生成html输出。 3)将html输出作为输入传递给pdf java类,然后该类将以横向模式生成pdf。 示例 xml 文件:.com/重置样本 样本xsl文件:.com/重置复制 jav
我有下面给我的html,当我把这个转换成PDF使用飞碟,它不适合A4的肖像大小。如何生成横向pdf文件。 我使用下面给定的代码将html转换为pdf
问题内容: 我试图对我的应用程序强制使用“横向”模式,因为我的应用程序绝对不是针对“人像”模式设计的。我怎样才能做到这一点? 问题答案: 现在可以使用HTML5 Webapp清单。 见下文。 原始答案: 您不能将网站或Web应用程序锁定在特定方向。它违反了设备的自然行为。 您可以使用CSS3媒体查询来 检测 设备方向,如下所示: 或通过绑定JavaScript方向更改事件,如下所示: 2014年1