在 ASP.NET C# 网站/服务器中,我使用名为 ITextSharp 的 .pdf 创建器库来创建包含有关产品的文本和一些图像的 .pdf。
像往常一样,老板不想购买许可证。我知道如果我使用 ITextSharp 版本 4.1.6 或更低版本,我可以在免费许可证下使用该库(我不能吗?)
我的问题:旧版本(4.1.6-)/免费版本是否可以满足我生成顶部图像、中间文本内容(某些段落)和底部图像的 pdf 的需求?我是否会发现某些 API 功能因我使用的是旧版本而无法使用?
您是否建议我使用另一个开源 ASP.NET C# .pdf 生成器?
是的,您可以做到这一点,旧版本也可以。我已附上使用字符串生成器通过 itext Sharp 生成 html 的代码。
Document doc = new Document(PageSize.LETTER, 10, 10, 42, 35);
iTextSharp.text.pdf.PdfWriter wri = iTextSharp.text.pdf.PdfWriter.GetInstance(doc, new FileStream("D:\\PurchaseOrderDetails.pdf", FileMode.Create));
doc.Open();//
StringBuilder builder = new StringBuilder();
builder.Append("<html>");
builder.Append("<head>");
builder.Append("</head>");
builder.Append("<body>");
builder.Append("<img src=\"D:\\Images\\logo_left.png\" align=\"right\"/>");
builder.Append("<br/><br/><br/><br>");
builder.Append("");
builder.Append("<h1 style=\"font-weight: bold\">Purchase Order Details</h1> ");
builder.Append("");
builder.Append("<br /><br /> ");
builder.Append("<h2 style=\"font-weight: bold\">Purchase Order Information</h2> ");
builder.Append("<table> ");
builder.Append(" <tr> ");
builder.Append(" <td style=\"font-weight: bold\">P.O.Number:</td> ");
builder.Append(" <td>" + txtPONumber.Text + "</td> ");
builder.Append(" </tr> ");
builder.Append(" <tr> ");
builder.Append(" <td style=\"font-weight: bold\">Vendor:</td> ");
builder.Append(" <td>" + txtVendorName.Text + "</td> ");
builder.Append(" </tr> ");
builder.Append(" <tr> ");
builder.Append(" <td style=\"font-weight: bold\">Entry Date:</td> ");
builder.Append(" <td>" + dtpickerEntryDate.SelectedDate + "</td> ");
builder.Append(" </tr> ");
builder.Append(" <tr> ");
builder.Append(" <td style=\"font-weight: bold\">Description:</td> ");
builder.Append(" <td>" + txtDescription.Text + "</td> ");
builder.Append(" </tr> ");
builder.Append(" <tr> ");
builder.Append(" <td style=\"font-weight: bold\">Ship Method:</td> ");
builder.Append(" <td>" + drpShipMethod.SelectedItem.Text + "</td> ");
builder.Append(" </tr> ");
builder.Append(" <tr> ");
builder.Append(" <td style=\"font-weight: bold\">Ship Carrier:</td> ");
builder.Append(" <td>" + drpShipCarrier.SelectedItem.Text + "</td> ");
builder.Append(" </tr> ");
builder.Append(" <tr> ");
builder.Append(" <td style=\"font-weight: bold\">Price:</td> ");
builder.Append(" <td>" + txtPrice.Text + "</td> ");
builder.Append(" </tr> ");
builder.Append(" <tr> ");
builder.Append(" <td style=\"font-weight: bold\">Shipping Cost:</td> ");
builder.Append(" <td>" + txtShippingCost.Text + "</td> ");
builder.Append(" </tr> ");
builder.Append(" <tr> ");
builder.Append(" <td style=\"font-weight: bold\">Warranty Status:</td> ");
builder.Append(" <td>" + txtWarrantyStatus.Text + "</td> ");
builder.Append(" </tr> ");
builder.Append(" <tr> ");
builder.Append(" <td style=\"font-weight: bold\">Part Requirement:</td> ");
builder.Append(" <td>" + drpPartRequirement.SelectedItem.Text + "</td> ");
builder.Append(" </tr> ");
builder.Append("</table> ");
builder.Append("<br /><br /> ");
builder.Append(" ");
builder.Append("<p style=\"text-align: center; font-style: italic; font-size: 10pt\"> ");
builder.Append(" Thank you for your business! If you have any questions about your order, please contact us at ");
builder.Append(" 800-555-. ");
builder.Append("</p> ");
builder.Append("</body>");
builder.Append("</html>");
var parsedHtmlElements = HTMLWorker.ParseToList(new StringReader(builder.ToString()), null);
foreach (var htmlElement in parsedHtmlElements)
doc.Add(htmlElement as IElement);
doc.Close();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)