【发布时间】:2017-05-27 09:28:41
【问题描述】:
只是使用itextsharp ==>我的代码使用旧 pdf 创建一个新 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);
Rectangle size = reader.GetPageSizeWithRotation(1);
Document document = new Document(size);
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();
}
public ActionResult Print()
{
certificate();
return null;
}
问题是将我的原始 pdf 旋转 90 度。
下图旧pdf =>
我不知道为什么它会破坏我的原始 pdf
我试试.. 更新 1
document.SetPageSize(PageSize.A4.Rotate());
还是不行……
专家兄弟...请帮助....
【问题讨论】:
标签: .net asp.net-mvc-4 pdf itext