itext7 相关问题

iText 7是iText库(以前的版本5)的完全重写 - 具有不同的API - 用于在Java和.NET中创建和操作PDF文档。


paginationitext

I创建一个带有其标头和一个表格的.pdf,我的问题是,当它显示出来时,它只会给我最后两页中的页码和总页面,例如,如果我有5页文档,则...

回答 1 投票 0

ETEX7PDFPOLYGEOMANTONTATION在浏览器PDF Viewers中不呈现 我在c#中使用itext7在PDF文档中创建一个多线注释。注释在Adobe Acrobat中正确呈现,但在浏览器PDF观众中没有显示Chrome。我没有遇到...

List<float> vertices = new List<float>(); // Create Polyline Annotation PdfPolyGeomAnnotation polyline = PdfPolyGeomAnnotation.CreatePolyLine(rect, points.ToArray()); polyline.SetColor(Colour.GetColorValue()); // Set Line Width polyline.SetBorder(new PdfAnnotationBorder(0, 0, CommentData.strokewidth)); polyline.SetFlags(PdfAnnotation.PRINT | PdfAnnotation.LOCKED | PdfAnnotation.READ_ONLY); // Set Opacity if (CommentData.opacity > 0 && CommentData.opacity <= 1) { polyline.SetOpacity(new PdfNumber(CommentData.opacity)); } // Add Annotation to Page page.AddAnnotation(polyline);

回答 1 投票 0


ETEXT7将文本放在特定坐标

从itextsharp上映,您可以使用columnText将文本放在特定的坐标上: columnText ct =新的columnText(cb); ct.setsimplecolumn(drawingspacepace.llx,图形空间...

回答 1 投票 0

回答 1 投票 0


add alttext至Image Itext 7版本9

如何使用Itext 7版本9将AltText添加到图像中。我在网上发现了此代码段,但是在我使用的版本中不存在SetAltText方法。 文档文档=新文档(pdf ...

回答 1 投票 0

我已经将此代码从itextsharp版本调整为itext8.0.5

文档构建正确,在调试中,我可以看到内存流相当正确。

回答 0 投票 0


使用 iText 创建 PDF 文档时未应用某些 HTML 和 CSS 样式

我在从 HTML 生成 PDF 时遇到 iText 问题。我正在传递 Locize 中的“导入信息部分”,其中包含粗体标签和列表项目符号 ... 我在从 HTML 生成 PDF 时遇到 iText 问题。我正在传递 Locize 中的“导入信息部分”,其中包含粗体标签和列表项目符号 <li>\n <b>Toll-free</b> (within Canada and the USA): <b>1.800.xxxxxxx</b>\n </li>\n pdf文件在Confirmation.cs中生成。下面列出了从Confirmation.cs 传递到ImportantInformation.cs 的参数“medSrc”。不知何故,粗体样式和列表项目符号不适用于结果 pdf 文件。 我已经调试了一段时间,但仍然不知道发生了什么。有谁知道我错过了什么? 提前谢谢您! 确认.cs ... namespace xxx.Pdf.xxx.xxx { public partial class Confirmation { private IApplication application; public Confirmation(IApplication application) { this.application = application; } public byte[] Create() { var memoryStream = new MemoryStream(); var css = Content.Css; //Create Document PdfDocument pdfDocument = new PdfDocument(new PdfWriter(memoryStream)); PageSize pageSize = PageSize.LETTER; Document document = new Document(pdfDocument, pageSize); Header headerHandler = new Header(document); PageXofY footerHandler = new PageXofY(pdfDocument); document.SetTopMargin(headerHandler.GetTableHeight()); //Assign event-handlers pdfDocument.AddEventHandler(PdfDocumentEvent.START_PAGE, headerHandler); pdfDocument.AddEventHandler(PdfDocumentEvent.END_PAGE, footerHandler); ... // ======>Important Information <======= var importantInfo = new ImportantInformation(); Table impInfoTable = importantInfo.CreateTable( HtmlUtility.MergeCssWithHtml(css, Content.ImportantInformationEmergencyMedical), HtmlUtility.MergeCssWithHtml(css, Content.ImportantInformationTripCancellation)); document.Add(impInfoTable).Add(new Paragraph("\n")); //set column parameters float offset = 36; float columnWidth = (pageSize.GetWidth() - offset * 2 + 15) / 2; float columnHeight = pageSize.GetHeight() - offset * 2; float tableWidth = columnWidth - 10; //define column area Rectangle[] columns = new Rectangle[] { new Rectangle(offset , offset, columnWidth, columnHeight), new Rectangle(columnWidth + 30, offset, columnWidth, columnHeight) }; document.SetRenderer(new ColumnDocumentRenderer(document, columns)); document.Add(new AreaBreak(AreaBreakType.LAST_PAGE)); foreach (Applicant applicant in application.Applicants) { ApplicantTable applicantTable = new ApplicantTable(); Table table = applicantTable.CreateTable(applicant, tableWidth); //Table another = applicantTable.CreateTable(application.Applicants[1], tableWidth); document.Add(table).Add(new Paragraph("\n").SetFontSize(3)); } footerHandler.WriteTotal(pdfDocument); document.Close(); pdfDocument.Close(); var pdf = memoryStream.ToArray(); return pdf; } } } 重要信息.cs ... namespace xxx.xxx.xxx.Pdf { public class ImportantInformation { public Table CreateTable(string medSrc, string tciSrc) { float[] colWidth = new float[] { 50f, 50f }; Table table = new Table(UnitValue.CreatePercentArray(colWidth)); table.SetWidth(new UnitValue(UnitValue.PERCENT, 100)); PdfFont avenir = FontFactory.CreateAvenirLightStandardMedium(); Paragraph title = new Paragraph().Add("**IMPORTANT INFORMATION**").SetFontSize(12).SetFont(avenir).SetBold().SetTextAlignment(TextAlignment.CENTER); Cell titleCell = new Cell(1, 2).Add(title).SetBorder(Border.NO_BORDER); table.AddCell(titleCell); Cell medImportantinfo = new Cell() .SetBorder(Border.NO_BORDER) .Add(new Paragraph("Paragraph A") .SetFirstLineIndent(10f) .SetBold() .SetFontSize(9) .SetFont(avenir)); Cell tciImportantInfo = new Cell() .SetBorder(Border.NO_BORDER) .Add(new Paragraph("Paragraph B") .SetFirstLineIndent(10f) .SetBold() .SetFontSize(9) .SetFont(avenir)); IList<IElement> medInfo = HtmlToCellFormat.HtmlToElements(medSrc); IList<IElement> tciInfo = HtmlToCellFormat.HtmlToElements(tciSrc); foreach (IElement e in medInfo) { medImportantinfo.ElementToCell(e); } foreach (IElement e in tciInfo) { tciImportantInfo.ElementToCell(e); } table.AddCell(medImportantinfo).AddCell(tciImportantInfo); return table; } } } 医学来源: <html> <body>\n <ul style=\"text-align: justify; list-style-type: disc; font-family: avenir, Arial, Helvetica, sans-serif; font-size: 10px\">\n <li>\n In the event of a medical emergency contact:\n <ul style=\"text-align: justify; list-style-type: circle; font-family: avenir, Arial, Helvetica, sans-serif; font-size: 10px\">\n <li>\n <b>Toll-free</b> (within Canada and the USA): <b>1.800xxxxxx</b>\n </li>\n <li>\n <b>Collect</b> (from all other locations): <b>1.xxxxxx</b>\n </li>\n </ul>\n </li>\n ... </body> </html> 更新: 这是 ElementToCell 和 HtmlToElements 函数的定义 public static class HtmlToCellFormat { public static string baseUri = "/"; public static void ElementToCell(this Cell cell, IElement e) { var type = e.GetType().ToString(); if (e.GetType() == typeof(Image)) { cell.Add((Image)e); } else if (e.GetType() == typeof(Paragraph) || (e.GetType() == typeof(List))) { cell.Add((IBlockElement)e); } } public static IList<IElement> HtmlToElements(string content) { ConverterProperties properties = new ConverterProperties(); properties.SetBaseUri(baseUri); FontProvider fontProvider = new DefaultFontProvider(false, false, false); FontProgram fontProgram = FontProgramFactory.CreateFont(); fontProvider.AddFont(fontProgram, ""); properties.SetFontProvider(fontProvider); IList<IElement> elements = HtmlConverter.ConvertToElements(content, properties); return elements; } } 我通过阅读 iText 的文章解决了这个问题 https://developers.itextpdf.com/content/itext-7-converting-html-pdf-pdfhtml/chapter-6-using-fonts-pdfhtml 简单改变 FontProvider fontProvider = new DefaultFontProvider(false, false, false); 到 FontProvider fontProvider = new DefaultFontProvider(true, true, true); ahdgwai7hdgJAKDBAJKUHSIQOvfyuqwgrqbfjkasudAKBFUKAWHFIEFHawuiOWJAEGIFA JABFUWIQDGKWQJHEOIW WDWJQDGIWQHDQWHIORUFCNIVERUCKVRJTHSABDJFASFNWEUIGFOwbf seofwakjfjAWKJFAWHFawkjFVJKAWFL BWHAWQ UKE W;D q bej q

回答 2 投票 0

使用 iText (7.1.15) 和 C# 读取 PDF 会给出 \uXXX 字符

我正在尝试阅读包含英语和希伯来语文本的 PDF 文件。 GetTextFromPage 方法给了我以下长而奇怪的字符串: ” 2 : 1 3 - # 克\u0003  u000b \u0013\u000f\

回答 1 投票 0

使用 iText Java 对加密的 PDF 文件进行数字签名时如何保留权限?

我想对加密的 PDF 文件进行数字签名。原始 PDF 受密码保护,如果不提供所有者密码,您将无法修改它或复制其中的文本。然而,我发现我...

回答 1 投票 0

如何正确地将多个画布添加到PDF中?

我用iText 9.0.0编写了一个Java程序来创建PDF文件。我需要将外部 PDF 作为 XObject 添加到 PDF 的每个页面。如果 PDF 页数为 1 或 2,一切都会正常。但是,...

回答 1 投票 0

在 C# 中使用外部签名哈希和证书对 pdf 进行签名

我需要使用外部服务签署 pdf。因此我首先需要一个像 公共字符串 GetHashToSign(byte[] unsignedPdf, X509Certificate cert) { // 生成并返回

回答 1 投票 0

如何在 iText Java 中直接将 AI (Adobe Illustrator) / SVG / PDF 文件嵌入 PDF 以避免渲染故障?

SVG 文件在 iText Java 中无法正确呈现。我应该找到一种更好的方法将矢量图插入到我的 pdf 文件中。 我想用一些矢量图和文本编程生成 PDF 文件...

回答 1 投票 0

如何绘制表格(具有特定布局)?

我需要在pdf中绘制表格,我使用itext 7 java。 表表 = 新表(4); table.setTextAlignment(TextAlignment.CENTER); table.setBorder(Border.NO_BORDER); 表.setPad...

回答 1 投票 0

如何在C#中使用iText7在PDF中生成多页表格?

我正在尝试使用 C# 中的 iText7 生成一个包含跨多个页面的表格的 PDF。但是,我遇到一个错误:“PdfPages 树只能生成一次。” 这是一个简单的...

回答 1 投票 0

使用 Windows 10+“打印到 PDF”选项时 PDF 水印会翻转

我正在使用 Windows 10 或更高版本中的“打印到 PDF”功能生成带水印的 PDF,但我遇到了打印或查看时水印翻转或出现镜像的问题。我正在使用...

回答 1 投票 0

在 iText7 中合并 pdf 数组页面

这是我用于合并从 iTextSharp 中的数据库流式传输的 pdf 文档的功能 公共函数 PDF_Functions_AddPages(PDFByteContent As List(Of Byte())) As Byte() 尝试 使用 MS 作为新系统...

回答 1 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.