任何人都知道如何使用iTextSharp以编程方式将PDF保存为较低的PDF版本,以便您可以使用某些要求PDF为5或更低版本的iTextSharp功能?
我正在尝试将两个PDF版本7文档合并在一起,它坚持认为它们是版本5或更低版本.
我在asp .net mvc3工作.
我想在我的项目G:\ projects\CalcoWoms\CalcoWOMS\Content\pictures\calcologo.png中获取此位置中存在的图像
CalcoWOMS是我的项目名称.我想在下面的行中获取此calcologo.png请检查以下行并告诉我应该如何以正确的方式写下这行.
iTextSharp.text.Image gif = iTextSharp.text.Image.GetInstance("〜/ calcologo.png");
代替("〜/ calcologo.png"); 我应该写什么路?
是否可以验证我们是否可以使用iTextSharp复制PDF文档的内容?
我有一个方法复制PDF的内容,并在最后添加一个新的页面与项目的信息,但它抛出"System.ArgumentException:PdfReader没有打开所有者密码".我这样做时会出现这个错误writer.GetImportedPage(reader, i);
谢谢您的帮助!
我需要创建一个包含多个部分的PDF,并且在每个部分之后需要添加一行,但我不知道在哪里绘制这一行.
我需要找到确切的坐标[x,y],其中文档中的下一个元素将被写入.
我在我的C#winform应用程序中使用iTextSharp.我想获得PDF文件中的特定段落.这可能在iTextSharp中吗?
我在页面中创建了一个面板,并在页面中动态创建div和表.当我用itextsharp转换为pdf时,它并不关心我的div或table风格,它给我带来讨厌的外观.我怎样才能解决这个问题.这是我转换html的代码.
String HTML = Session["xpdf"].ToString();
string filename = "\\xpdf\\xpdf____" + Request.QueryString["id"] + ".pdf";
string filepath = HttpContext.Current.Server.MapPath("\\xpdf\\xpdf____" + Request.QueryString["id"] + ".pdf");
Document document = new Document(PageSize.A4);
PdfWriter.GetInstance(document, new FileStream(filepath, FileMode.Create));
document.Open();
HTMLWorker hw = new HTMLWorker(document);
hw.Parse(new StringReader(HTML));
document.Close();
ShowPdf(filename, filepath);
PdfAction action = new PdfAction(PdfAction.PRINTDIALOG);
Run Code Online (Sandbox Code Playgroud)
并考虑我的HTML代码看起来像这样:
<div>
<table style="border:solid 1px #ccc; color:#000;">
<tr>
<td style="width:100px;color:#cc0000;"></td>
<td style="width:10px">:</td>
<td style="width:200px"></td>
</tr>
</table>
</div>
Run Code Online (Sandbox Code Playgroud) 我正试图从PDF文件中获取一些信息.我尝试过使用PdfSharp,它具有我需要的信息属性,但它无法打开iref流,所以我不得不放弃它.
相反,我正在尝试iTextSharp.到目前为止,我已经设法从Info数组中获取一些基本信息,如标题,aurhor和subject.
但是,我现在正在获取更多信息,但无法在iTextSharp中找到它暴露的位置(如果它暴露)....我所追踪的信息在下图中突出显示:

我无法弄清楚这些信息的存储位置.任何和所有的帮助将不胜感激.
从PDF文件中读取数据时,我遇到使用iTextSharp的问题.我想要实现的是只读取PDF页面的特定部分(我想只检索位于恒定位置的地址信息).我在阅读以下所有页面时看到了iTextSharp的用法:
StringBuilder text = new StringBuilder();
if (File.Exists(fileName))
{
PdfReader pdfReader = new PdfReader(fileName);
for (int page = 1; page <= pdfReader.NumberOfPages; page++)
{
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
string currentText = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy);
currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)));
text.Append(currentText);
}
pdfReader.Close();
}
return text.ToString();
Run Code Online (Sandbox Code Playgroud)
但是我怎样才能将它限制在特定的位置?我愿意使用任何东西,甚至是OCR技术,因为将来某些文件可能会成为图像(但此时不是必需的).这个项目仅适合我,所以没有商业用途.
谢谢!
我有一个1500多页的pdf,带有一些"随机"文本,我必须从中提取一些文本...我可以识别出那样的块:
bla bla bla bla bla
...
...
...
-------------------------- (separator blue image)
XXX: TEXT TEXT TEXT
TEXT TEXT TEXT TEXT
...
-------------------------- (separator blue image)
bla bla bla bla
...
...
-------------------------- (separator blue image)
XXX: TEXT2 TEXT2 TEXT2
TEXT2 TEXT2 TEXT TEXT2
...
-------------------------- (separator blue image)
Run Code Online (Sandbox Code Playgroud)
我需要提取所有文本beetween分隔符(所有块)'XXX'出现在所有块的开头,但我没有办法检测块的结尾.是否可以在解析器中使用图像分隔符?怎么样?
还有其他可能的方法吗
编辑更多信息没有背景和文本是复制和可管理的
样本pdf:1
查看示例第320页
谢谢
我想给一个桌子提供圆形边框,但经过研究后我发现它无法完成,但我们可以给一个单元格提供圆形边框.
所以我做了这样的事情
PdfPCell cell = new PdfPCell()
{
CellEvent = rr, // rr is RoundRectangle object
Border = PdfPCell.NO_BORDER,
Padding = 4,
Phrase = new Phrase("test")
};
table.AddCell(cell);
document.Add(table);
Run Code Online (Sandbox Code Playgroud)
现在我可以为一个单元格提供边框,所以我想要做的是我想将完整的嵌套表放入这个pdfpcell中,以便我可以间接地在该表上实现边界...
你可以帮忙吗?如果你不理解我的方法..问题......我将在评论部分更清楚地解释......