我正在尝试使用itextsharp库(v5.5.13.2)合并一些字段,并使用屏幕阅读器对其进行测试。pdf被标记,但当我尝试使用NVDA读取表单时,他无法识别合并的字段,只能识别pdf中的静态文本。pdf是使用和位于"PDF结构“中的textfields创建的。
任何帮助都将不胜感激。
enter code here
Dim OutputFileName As String = ""
Dim OutputFileFullPath As String = ""
Dim FileName As String = "C:\Untitled4.pd
我有一个包含多个文本字段的PDF文档,其中几个字段有一个最大长度,即最大允许字符数。
有没有办法使用iTextSharp来确定这个设置?以下是我到目前为止拥有的代码:
Dim reader As New iTextSharp.text.pdf.PdfReader("Foobar.pdf")
Dim inputFields As IDictionary(Of String, iTextSharp.text.pdf.AcroFields.Item) = reader.AcroFields.Fields
For Each key As String In inputFields.K
通过使用itextsharp,我尝试将表单文本字段的字体大小设置为auto。
我目前正在做这样的事情:
Object d = 0.0;
PdfReader reader = new PdfReader(path);
byte [] pdf;
using (var ms = new MemoryStream())
{
PdfStamper stamper = new PdfStamper(reader, ms);
AcroFields fields = stamper.AcroFields;
foreach (var f in fields.Fields.Key
我正在用XFA_Worker拼合一个现有的文档。有没有办法强制将字体嵌入到平面化的文档中?
using iText = iTextSharp.text;
using iTextPDF = iTextSharp.text.pdf;
using iTextImage = iTextSharp.text.Image;
using iTextReader = iTextSharp.text.pdf.PdfReader;
using iTextWriter = iTextSharp.text.pdf.PdfWriter;
reader = new iTextReader(tempFileDirecto
关于使用iTextSharp,我有两个部分的问题。我构建了一个简单的MVC应用程序,用于在Server数据库中存储有关“经验教训”的信息。当用户查看课程的细节时,我希望他们能够将课程保存为PDF格式。我有一些工作代码,但是1)我不确定我的方法有多好;2) MVC应用程序使用TinyMCE富文本编辑器,当我将富文本放入PDF时,将显示html标记。如何使PDF格式符合html格式(粗体字体、无序列表、段落等)?
下面是我用来生成PDF的代码。如果我做错了这件事,我会非常感激你的反馈。
谢谢。
public FilePathResult GetPDF(int id)
{
L
我正在通过PDF应用程序使用iTextSharp填充包含AcroFields的iTextSharp模板。数据通过多个comboBoxes接口填充,如下所示:
string template = path1 + @"\Template1.pdf";
PdfReader pdfreader = new PdfReader(template);
StringBuilder sb = new StringBuilder();
foreach (KeyValuePair<string, iTextSharp.text.pdf.AcroFields.Item> de in
p
我正在尝试使用iTextsharp加载表单PDF。当我试图使用Acrofield在PDF中设置字段元素的值时,我会得到“无效的强制转换异常”。“将IDictionary对象类型转换为数组时出错”。
我们正在使用itextSharp 5.*版本。
错误堆栈跟踪:
无法将'iTextSharp.text.pdf.PdfDictionary‘类型的对象强制转换为'iTextSharp.text.pdf.PdfArray’。
at iTextSharp.text.pdf.AcroFields.Fill()
at iTextSharp.text.pdf.AcroFields.
我需要做的是查询一个iTextSharp AcroField来检查它是否被旋转了,如果是的话,捕获旋转的值。
因此,如果我有以下字段:
Dim af As iTextSharp.text.pdf.AcroFields = stamper.AcroFields
Dim afi As iTextSharp.text.pdf.AcroFields.Item
afi = af.GetFieldItem("fieldName")
我需要做什么才能获得该特定字段的旋转(以度为单位)?
我必须在pdf中插入一个图像.也就是说,只要我看到一个文本“签名”,我就必须在那里插入一个签名图像。我可以通过说绝对位置来做到。但是,我正在寻找如何找到“签名”一词在pdf中的位置,并插入图像。
感谢您的帮助!
这是工作代码:
using (Stream inputImageStream = new FileStream(@"C:\signature.jpeg", FileMode.Open, FileAccess.Read, FileShare.Read))
using (Stream outputPdfStream = new FileStream(@"C
所以我一直想写一份报告。我已经试过很多东西了,但似乎总是有问题。我目前正在尝试iTextSharp 4.1.6。
我目前的策略是使用LibreOffice创建一个包含可编辑pdf字段的文档,或者我猜它们被称为"“。我不确定,因为我找不到定义。但无论如何,我认为所有这些都是"AcroFields":
但是,如果我将所有这些都放入表单中并导出为pdf格式,那么其中只有一些显示为AcroFields:
var reader = new PdfReader(File.ReadAllBytes("abc.pdf"));
foreach(var field
我不确定这是否可能,但我认为这是值得一问的。我已经知道如何使用pdfstamper和acrofield方法来设置表单字段的字体,但我真的希望能够在同一字段中设置文本的不同部分的字体。下面是我目前如何设置表单域的字体:
// Use iTextSharp PDF Reader, to get the fields and send to the
//Stamper to set the fields in the document
PdfReader pdfReader = new PdfReader(fileName);
如何从签名的PDF文件中获得签名值?除了其值外,我还可以从签名中获取所有其他数据。有什么方法可以在C#中得到它吗?
PdfPKCS7 pk;
PdfReader reader = new PdfReader(PdfFilename);
AcroFields af = reader.AcroFields;
var names = af.GetSignatureNames();
foreach (string name in names)
{
pk = af.VerifySignature(name);
var CN_signer = iTextSharp.text.pdf.s
全,
我正在尝试填写现有的PDF,无法更改字体。
var filename = ConfigurationManager.AppSettings["Pdf"];
var reader = new PdfReader(AppDomain.CurrentDomain.BaseDirectory + filename);
var ms = new MemoryStream();
var stamper = new PdfStamper(reader, ms);
using (StreamWriter sw
我使用iTextSharp从PDF中提取SignatureNames。我遇到了问题(过慢)访问AcroFiels的大尺寸和许多页面PDF (~40 of和~5000页)。
在这里,我的代码片段:
using iTextSharp.text.pdf;
private static List<byte[]> GetSignsFromPDF(string filePath)
{
var result = new List<byte[]>();
var randomAccessFileOrArray = new RandomAccessFileOrArray(
此链接()包含由IText (5.5.12版)正确验证的数字签名PDF,但未经Adobe验证,后者发出以下消息:
签名验证过程中出错。定义有符号数据范围的意外字节范围值。详细信息:签名字节范围无效
谁是对的?Adobe还是IText?IText Bug?
用于PDF数字签名验证的示例ITextSharp代码:
using System;
using System.Collections.Generic;
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.security;
namespace ClassLibrary1
{
当我在等待有人为我的项目创建一个可填写的PDF时,我在编写代码时用一个可填写的税单代替。下面的代码填写了税务PDF表单,但当我用可填写的PDF表单替换税务表单时,它不再起作用。我已经验证了字段名是否正确(通过检查acroFields中的字段)。为什么我的表单不能填写?(模板是可填写的表单)
try
{
if (!string.IsNullOrWhiteSpace(template))
{
pdfMemoryReader = new PdfReader(template);
我正在使用itextsharp来创建PDF。但是,当我的内容超过一个页面时,它不会创建文本并将文本附加到下一个页面。下面是我的源代码。无法确定这是哪里出了问题。请指点一下。
Dim pdfTemplate As String = "C:\Program Files\mycrm\Documents\Client\Statement_.pdf"
Dim newFile As String = "D:\test.pdf"
Dim pdfReader As New PdfReader(pdfTemplate)
Dim pdfStampe
我使用PdfStamper从PDF表单中获取字段值。我可以使用Acrofield类中的GetField()函数成功地从文本框、组合框和复选框中获取值。但是当涉及到单选按钮时,我要么得到集合中第一个单选按钮的值,要么得到“关闭”的值。我遗漏了什么?我应该以不同的方式获得值吗?有没有什么我不知道的众所周知的bug?下面是我的代码示例:
Private Sub btnFinish_ItemClick2(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnFinish.ItemClick
Dim pdfRe
我在填充PDF文件时遇到问题,当我试图打开该文件时,该文件已损坏。
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports iTextSharp.text.pdf.parser
Imports System.Data
Imports System.IO
Public Sub FillPdf()
Dim msPDF As New MemoryStream
Dim reader As New PdfReader(Request.MapPath("~/PdfFiles/form01.pdf"))
我有一个现有的PDF,其中几个文本字段在Acrobat中设置为Hidden。在特定情况下,我们希望在将PDF流式传输到我们的eSignature提供商之前,以编程方式取消隐藏文本字段。
我已经尝试了使用SetFieldProperties使字段可见的各种建议,但没有成功。似乎没有“可见”标志选项,并且我不知道如何从AcroFields派生TextField。
var form = stamper.AcroFields;
form.SetFieldProperty("eSignature1_DateSigned", "setfflags", PdfAnnotati
我试图获得XFA表单中所有字段的简单列表。我正在使用以下代码:
private void ListFieldNames()
{
string pdfTemplate = @"C:\Projects\iTextSharp\SReport.pdf";
MemoryStream m = new MemoryStream();
// title the form
this.Text += " - " + pdfTemplate;
// create a new PDF reader based on the PDF templ