Itext 7: 无法删除注释或平铺文件
自从获得大部分时间工作以来,我一直在玩更多.现在,我试图从PDF中删除所有注释.我尝试了多种方法,如下所示: public void ClearStamps() { IList annotList = pdfDoc.GetFirstPage().GetAnnotations(); int listCount = annotList.Count; for (int i = 0; i anno
0 2024-02-26
编程技术问答社区
在android gradle中导入itext-7
在将以下内容添加到gradle 之后,我正在尝试将itext-7添加到Android 编译'com.itextpdf:root:7.0.0' 我仍然找不到itext的类别,例如pdfwriter等. 请告诉我,如果Android还有单独的Itext-7版本,以及如何添加它. p.s :我已经成功地添加了 itext-5 ,但是我现在想与 itext-7 一起工作. 解决方案 root tragact只是一个父pom,根本不包含itext 7类. 如果要包含所有Itext 7核心功能,则应尝试 compile 'com.itextpdf:itext7-core:7.0.2' 如果这无法开箱即用(例如,由于Android中缺少Java类),或者如果您只想安装更精细的安装,请注意,与Itext 5相比,较新的Itext 7不会作为一个大罐子分布但是作为一组模块. 对于Maven,您将使用以下依赖项(或更可能是它们的子集);您可以轻松地从中
16 2024-01-29
编程技术问答社区
使用AWS KMS返回的数字签名签署PDFDocument
我正在尝试使用AWS KMS签署我的PDFDocument的SHA256摘要来获得的签名,以在PDF本身上应用签名.我什至不确定我是否朝着正确的方向前进. 一切都正确运行,但是产生的文件的签名会引发错误: Error during signature verification. ASN.1 parsing error: Error encountered while BER decoding: 如果重要的话,我可以从AWS中检索公共密钥,但是私钥会保留在他们的一边.我在网上看到的大多数文档都以您对私钥的访问为前提.此外,由于AWS处理签名,我不确定如何或在哪里获得证书链.我发现的所有文档都需要该证书链. 代码 首先,我创建一个空的签名字段,因为大多数文档指示您要做.我认为PdfName.Adbe_pkcs7_detached可能会有一个问题,但是如果这是错误的话,我不知道该放置什么. public void addEmptySignatureField
96 2024-01-26
编程技术问答社区
为什么这两个itext 7签名和验证的文件之一在Adobe DC阅读器中无效?
我已经认证了两个PDF文档(根据ITEXT 7签名并用相同的机制验证),当我使用Adobe Reader DC检查其有效性时,只有一个具有绿色标记. 好的: 坏人: 问候 David L 解决方案 这不是Adobe错误,而是一个功能. (和一个itext错误) 当Adobe执行加密验证时,它还将执行其他检查以查看签名是否受到攻击.它分析了几个嫌疑犯,如果分析结果为负,Adobe将向您显示错误消息.这是Adobe错误地报告分析和有效性.但是,对于这些隐藏的要求有一项工作. 首先,在非应用模式下使用itext来修改文档: 不幸的是,在特定情况下,在非应用模式下使用时,引入了规范不允许的更改.问题是Itext引入了小节.这是规范允许您执行的操作,但这是明确的第一个修订版: 第7.5.4节交叉引用表 [...]对于从未逐步更新的文件,交叉引用部分应包含一个小节,其对象编号开始于0.[...] 下面您会在非申请模式下使用ITEXT之后找到第一个修订
2 2024-01-19
编程技术问答社区
在iText 7中,有什么方法可以避免加载XMP元数据吗?
我有一个带有大量XMP元数据的PDF文件.当我使用itext7对其进行处理时,该程序粘在语句var pdfdocument origpdf = new pdfdocument (pdfreader);中,查看 source code ,我发现打开(null)方法是在PDFDocument对象的构造函数中执行的,最终粘在reader.pdfaconformancelevel = pdfaconformancelevel.getconformancelevel (xmpmatafactory. Parsefrombuffer (xmpmetadata));上,并且没有选择避免,XMP Metadata对我来说是没有用的. 使用ItextSharp,基于 on pdf/a ,,,我可以在没有元数据的情况下获得PDF文件. PdfReader reader = new PdfReader(src); PdfDictionary dict = reader.Catalog; dict.
2 2024-01-08
编程技术问答社区
iText7转换HTML为PDF "System.NullReferenceException."
旧标题:itextsharp将html转换为pdf"文档没有页面." 我正在使用itextsharp和XMLWorker将HTML从ASP.NET Core 2.1 中的PDF转换为PDF 我尝试了许多我在网上找到的代码片段,但都产生了一个例外: 文档没有页面. 这是我当前的代码: public static byte[] ToPdf(string html) { byte[] output; using (var document = new Document()) { using (var workStream = new MemoryStream()) { PdfWriter writer = PdfWriter.GetInstance(document, workStream); writer.CloseStream = false;
4 2024-01-08
编程技术问答社区
在.Net Core 3.1类库中调用iText7 PdfAcroForm.GetAcroForm()时出现空参考异常
我正在努力将应用程序转换为.NET Core 3.1,在我的类库中,我正在从现有模板中生成PDF表单,并用数据填充该表单.在ItextSharp中,iText7的前身,pdfacroform静态方法" .getAcroform()"效果很好,但是在当前版本的Itext7(7.1.12)中,抛出了无参考异常.我遵循了自己的能力,但我不确定如何继续.任何建议都将不胜感激. 注意:存在模板路径,新文档显示它已经正确填充,并且不可能"新" pdfacroform,您需要使用static .getAcroform()方法. . 无效检查将无法解决此问题,因为对象绝不应为null.该文档表明,如果参数" createNotexist"设置为true,则.getAcroform()方法将创建一个新的表单. 我已经研究并在Itext Github上找到了一个问题,该问题表明该问题大约在一年前是"固定"的: https://github.com/itext7/pull/44#issue
8 2024-01-08
编程技术问答社区
如何将PDF文件分割成小文件
我需要将文档拆分为几个小文档.例如,如果文档有7页,我需要生成7个PDF. 在ItextSharp中,我正在使用以下代码,效果很好.但是,在Itext 7中,不可能以相同的方式进行操作. ### itextsharp旧代码 var reader = new PdfReader(src); for (int i = 1; i
2 2024-01-08
编程技术问答社区
itext7 regexbasedLocationLocation extractrategy如何获取已找到文本的字体名称和字体
我尝试用C#上的itext7替换文本.我只能使用RegexBasedLocationExtracttrategy获取搜索文本的内容和矩形,并且我想获得文本的字体和大小.有什么建议么?谢谢. 解决方案 您可以实现class CustomTextExtractionStrategy : ITextExtractionStrategy { public void EventOccurred(IEventData data, EventType type) { if (type is EventType.RENDER_TEXT) { if (((TextRenderInfo)data).GetText().Equals("here I can match the text")) { data.GetGraphicsState().GetFont(); data.GetGraphicsState().GetFontSize(); } } } } 您还可以使用这就是您要注册此自定义外推
26 2024-01-08
编程技术问答社区
iText7-无法为SquareAnnotation内部颜色设置不透明度。
团队, 我正在使用itext7 c#库.我无法设置正方形注释内饰的不透明度. 以下是我正在使用的代码.我尝试了我们使用的所有不同方法来设置不透明度,但没有运气.我错过了什么吗? private PdfSquareAnnotation AddAnnotation(float rectHeight, float rectWidth, float x, float y) { Rectangle rect = new Rectangle(x, y, rectWidth, rectHeight); PdfSquareAnnotation squareAnnotation = new PdfSquareAnnotation(rect); squareAnnotation.SetColor(ColorConstants.GREEN); squareAnnotation.SetTitle(new PdfString("T
0 2024-01-08
编程技术问答社区
如何使用C# iText7在PDF生成中创建页眉
我尝试使用.NET C#中的itext软件包在我的PDF的所有页面中添加标头,但它不起作用. 注意:我正在使用itext版本7 我尝试了以下堆栈溢出答案,它们仅为页脚展示(即 end_page ),而不是 start_page 使用itext sharp /li> 我的代码: class Program { static void Main(string[] args) { var writer = new PdfWriter("E:/pdfSample/bala.pdf"); var pdf = new PdfDocument(writer); var document = new Document(pdf,PageSize.A4); document.SetMargins(120,40,100,40); // Create a PdfFont va
14 2024-01-07
编程技术问答社区
使用iText7向签名添加撤销信息
我正在生产长期签名.我试图将吊销信息(CRL,OCSP响应,证书链)添加到签名中作为无符号属性,但撤销信息未嵌入最终签名中. 以下是代码段: Stream outputStream = new MemoryStream(); List ocspCollection = new List(); List crlCollection = new List(); List certsCollection = new List(); Stream readerStream = new MemoryStream(signedDocument); PdfReader pdfReader = new PdfReader(readerStream); PdfSigner pdfSigner
2 2024-01-07
编程技术问答社区
如何使用iText7 c#从pdf中提取图像
下面的方法我用来从PDF提取图像.但是子类型总是给出零.我正在使用新版本的itext7库.如果有任何机构与新图书馆一起工作,请提出建议. public static string ExtractImageFromPDF(string sourcePdf) { PdfReader reader = new PdfReader(sourcePdf); try { PdfDocument document = new PdfDocument(reader); for (int pageNumber = 1; pageNumber
60 2024-01-07
编程技术问答社区
在旋转的文件上添加签名栏
我试图在旋转的文档上添加签名字段,但我想在签名字段上不应用旋转,应在旋转页面上以0旋转添加. 我尝试了以下方法,但对我不起作用. page.SetIgnorePageRotationForContent(true); 任何人都可以提供解决这个问题的解决方案吗? 签名外观代码段: PdfFormXObject layer2Object = _pdfSignatureAppearance.GetLayer2(); PdfCanvas pdfCanvas = new PdfCanvas(layer2Object, _pdfSigner.GetDocument()); PdfPage page = _pdfSigner.GetDocument().GetPage(signingRequest.Page
8 2024-01-07
编程技术问答社区
iText7在使用附加模式属性后将签名转换为不可见的签名
我会发现,如果我在文档中创建签名字段时使用 useappendmode 属性,则在签名时会创建无形的签名.否则,它显示我的自定义签名外观的内容,并在PDF中创建可见的签名. 以下是我的代码段: SigningResponse signingResponse = new SigningResponse(); Stream outputStream = new MemoryStream(); Org.BouncyCastle.X509.X509Certificate x509Certificate = null; int estimatedSize = SigningProfile.ContainsKey(ProfileCommon.DICTIONARY_SIZE.ToString()) ? int.Parse(SigningProfile[ProfileCommon.DICTIONARY_SIZE.ToString()]) * 1024 : 600 * 1024; Stre
4 2024-01-06
编程技术问答社区
将签名表单字段添加到一个页面上,也可以在最后一页中看到
我试图使用.NET(v7.0.4)的ITEXT在特定页面上将签名表单字段放在给定的位置.我正在处理的代码如下: public static void test() { using (PdfDocument pdfDoc = new PdfDocument(new PdfWriter(@"c:\temp\pippo.pdf"))) { //Add some blank pages pdfDoc.AddNewPage(); pdfDoc.AddNewPage(); pdfDoc.AddNewPage(); //Instantiate a Signature Form Field using factory PdfSignatureFormField sgnField =
12 2024-01-06
编程技术问答社区
在MVC和.NET中使用iText 7生成PDF用于下载
我一直在尝试获取一个MVC应用程序来生成PDF(填充数据)并提示将其下载给用户.我已经设置了一种测试方法只是为了查看它的完成方式,并且我正在尝试在内存中创建文档,因为我知道浏览器并不总是知道如果您将其传递给字节流,该怎么办. 这是我正在使用的方法: //Test Report public ActionResult Report() { MemoryStream stream = new MemoryStream(); PdfWriter wri = new PdfWriter(stream); PdfDocument pdf = new PdfDocument(wri); Document doc = new Document(pdf); doc.Add(new Paragraph("Hello World!")); doc.Close();
6 2024-01-06
编程技术问答社区
如何提高创建表格时的iText性能
嘿,很棒的stackoverflow人 我目前正在评估我们是否应该使用ITEXT 7.1.9作为Java或C#. 为此,我创建了一个测试用例,其中写了一个带有一堆页面的PDF,每个PDF包含一个大表(下面代码). 在Java中,创建带有X页的PDF产生以下结果: 1页:0秒 10页:1秒 100页:5秒 1000页:23秒 这是合理的表现.但是,当我将完全相同的代码移植到c#.net时,我感到非常震惊: 1页:0秒 10页:1秒 100页:10秒 1000页:96秒 使用Java创建的PDF的大小与C#相同,并且文件看起来完全相同. 然而,当Java以某种方式设法优化较大的PDF时,C#似乎是线性扩展的. 由于我们宁愿使用C#问题是: 到底是怎么回事? 我需要做些什么才能实现与Java大致相同的性能? Java代码: package pcm; import static java.util.concurrent.
8 2024-01-06
编程技术问答社区
ITEXT7例外许可证文件试图进行免费试用时损坏
我正在评估ITEXT7 HTML2PDF库.我注册了免费试用,下载了itextkey.xml许可证密钥,并将其包括在我的项目中. 这是我正在使用的代码: public static readonly string destinationFile = @"C:\Test\Generated.pdf"; public static readonly string sourceHtml = @"C:\Test\djigit.html"; public static readonly string licenseKey = @"C:\Test\itextkey.xml"; static void Main(string[] args) { parsePdf(sourceHtml, destinationFile); } private static void parsePdf(string htmlSource, string pdfDestionation) {
18 2024-01-06
编程技术问答社区