我在 MVC3 中使用 iTextSharp 时遇到了一些问题。
我正在创建一个带有一些图像的页眉/页脚,它在本地工作正常但是当我将它上传到我的服务器时它返回一个 401:
远程服务器返回错误:(401) Unauthorized。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.Net.WebException:远程服务器返回错误:(401)未经授权。
我的页眉/页脚代码:
public override void OnEndPage(iTextSharp.text.pdf.PdfWriter writer, iTextSharp.text.Document document)
{
//Include the header image
//System.Web.HttpContext.Current.Server.MapPath("/image.jpg");
iTextSharp.text.Image HeadImg = iTextSharp.text.Image.GetInstance(HttpContext.Current.Server.MapPath("/image.jpg"));
HeadImg.ScalePercent(50f);
HeadImg.SetAbsolutePosition(document.PageSize.Width - 60f - 72f, document.PageSize.Height - 36f - 216.6f);
//Include the footer image/text
iTextSharp.text.Image FootImgMS = iTextSharp.text.Image.GetInstance(HttpContext.Current.Server.MapPath("/image.jpg"));
FootImgMS.ScalePercent(50f);
iTextSharp.text.Image FootLeftImg = iTextSharp.text.Image.GetInstance(HttpContext.Current.Server.MapPath("/image.jpg"));
FootLeftImg.ScalePercent(50f);
Phrase FootText = new Phrase("Phone: " + Tel, FontFactory.GetFont("verdana", 10));
Paragraph LeftFoot = new Paragraph();
LeftFoot.Add(new Chunk(FootLeftImg, 0, 0));
LeftFoot.Add(new Chunk(Chunk.NEWLINE));
LeftFoot.Add(new Phrase(FootText));
//Create header table
PdfPTable PDFTab = new PdfPTable(1);
//Create footer table
PdfPTable PDFFootTab = new PdfPTable(2);
//Create header cell
PdfPCell PDFCell1 = new PdfPCell(HeadImg);
PDFCell1.Border = 0;
//create footer cells
PdfPCell PDFFootCell1 = new PdfPCell(LeftFoot);
PDFFootCell1.PaddingTop = 35;
PdfPCell PDFFootCell2 = new PdfPCell(FootImgMS);
PDFFootCell1.Border = 0;
PDFFootCell2.Border = 0;
PDFFootCell1.HorizontalAlignment = Element.ALIGN_LEFT;
PDFFootCell2.HorizontalAlignment = Element.ALIGN_RIGHT;
//Add cells to tables
PDFTab.AddCell(PDFCell1);
PDFTab.TotalWidth = document.PageSize.Width;
PDFFootTab.AddCell(PDFFootCell1);
PDFFootTab.AddCell(PDFFootCell2);
PDFFootTab.TotalWidth = document.PageSize.Width - 80;
//Write out header table
PDFTab.WriteSelectedRows(0, -1, 0, document.PageSize.Height, writer.DirectContent);
//Write out footer table
PDFFootTab.WriteSelectedRows(0, -1, 40, 60, writer.DirectContent);
//set pdfContent value
pdfContent = writer.DirectContent;
pdfContent.MoveTo(30, document.PageSize.Height - 145);
pdfContent.LineTo(document.PageSize.Width - 40, document.PageSize.Height - 145);
}
我几乎可以肯定它与图像有关,但我无法弄清楚它应该是什么。
任何帮助将不胜感激:)