Tag: itextsharp

是否有使用iTextSharp将一个PDF文档附加到另一个文档的直接方法?

我在网上搜索了如何做到这一点的例子。 我发现了一些似乎需要更多参与的东西。 所以我的问题是,使用iTextSharp,是否有一种相当简洁的方法将一个PDF文档追加到另一个? 最理想的是,这不会涉及第三个文件。 只需打开第一个PDF文档,将第二个PDF文档附加到第一个,然后关闭它们。

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(); 但是我怎样才能将它限制在特定的位置? 我愿意使用任何东西,甚至是OCR技术,因为将来某些文件可能会成为图像(但此时不是必需的)。 这个项目只适合我,所以没有商业用途。 谢谢!

使用itextsharp(或任何c#pdf库),如何打开PDF,替换一些文本,然后再次保存?

使用itextsharp(或任何c#pdf库),我需要打开一个PDF,用实际值替换一些占位符文本,并将其作为byte []返回。 有人可以建议怎么做吗? 我已经看了一下itext文档,无法弄清楚从哪里开始。 到目前为止,我仍然坚持如何将源PDF文件从PDFReader获取到Document对象,我认为我可能以错误的方式接近这个。 非常感谢

缩小pdf页面的内容

对于我当前的项目,我需要获取pdf并缩小第一页的内容而不更改页面的整体大小,以便我可以向底部添加其他信息,而不会与任何预先存在的内容重叠。 有没有办法使用iTextSharp做到这一点? 我很感激你能给予的任何帮助!

无法使用C#在asp.net中使用iTextSharp API将HTML标记导出为PDF?

我有一个HTML标记,其中包含HTML Table和Images 。 我正在使用iTextSharp API将HTML markup to PDF转换HTML markup to PDF 。 但是,遗憾的是iTextSharp无法将包含Images&Table的HTML标记导出为PDF。 错误:找不到网络路径。 结果必须是: 码: using iTextSharp.text; using iTextSharp.text.pdf; using iTextSharp.text.html; using System.Data.SqlClient; using System.Text; using iTextSharp.text.html.simpleparser; public string strSelectUserListBuilder = @” Packing slip Place this slip inside the box with your device. ITEM OFFER iPhone 5 32GB (AT&T) $205.00 Total Offer:   $215.00 […]

使用iTextSharp将WMF添加到PDF

我完全无法使用iTextSharp将WMF文件转换为PDF。 我特别想使用WMF,因为它是一个基于矢量的文件。 我的WMF文件来自Chart控件。 重现这一点的代码非常简单。 创建一个新的Windows窗体项目。 将图表控件添加到Form 1。 然后添加以下代码: 添加此using指令 using iTS = iTextSharp.text; 并将以下代码添加到您的Form1.cs文件中: private void Form1_Load(object sender, EventArgs e) { Document pdfDoc = new Document(); PdfWriter.GetInstance(pdfDoc, new FileStream(@”D:\dev\Test\TestPdfCreation\TestPdfCreation\bin\Debug\test.pdf”, FileMode.Create)); MemoryStream mimg1 = new MemoryStream(); chart1.SaveImage(mimg1, ImageFormat.Wmf); mimg1.Seek(0, SeekOrigin.Begin); iTS.Image img1 = iTS.Image.GetInstance(mimg1); pdfDoc.Add(img1); pdfDoc.Close(); } 我收到的错误是:发生IOException。 字节数组不是可识别的图像格式。 使用iTextSharp 5.0.5。

哪种文本提取策略正确?

在我的c#代码中,我从pdf中提取文本,我有两种方法可以实现。 但是,1种方法适用于1种类型的pdf文档,而另一种方法适用于其他类型的pdf文档。 当方法1失败时,我得到文本但没有任何空格,当方法2失败时,我只得到\ r \ n。 方法1(来自http://www.codeproject.com/Articles/14170/Extract-Text-from-PDF-in-C-100-NET ) PDFParser pdf_parser = new PDFParser(); currentText = pdf_parser.ExtractTextFromPDFBytes(pdfReader.GetPageContent(page)) + ” “; 方法2 StringWriter output = new StringWriter(); for (int i = 1; i <= reader.NumberOfPages; i++) output.WriteLine(PdfTextExtractor.GetTextFromPage(reader, i, new SimpleTextExtractionStrategy())); currentText = output.ToString(); 有没有办法结合这两个function,所以它始终有效?

如何使用iTextSharp设置monospaced字体?

这是我到目前为止管理我的字体的方式: BaseFont bf = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.EMBEDDED, false); Font titleFont = new Font(bf, 20); 现在,我想设置monospaced(固定宽度)字体用于字符串格式化。 我是否必须下载一些ttf文件(正如我正在阅读的那样)或iTextSharp中已包含等宽字体

使用iTextSharp与淘汰JavaScript或其他MVC / MVVM框架?

好吧,因为我确实发现我可以使用iTextSharp生成PDF,所以我走了那条路。 我已经把它用于保存HTML的基本格式化为PDF。 那不是问题。 我现在需要做的是在其中使用敲除标记,并使用生成的 HTML(即DOM)作为我的字符串传递到创建PDF的方法。 所以,例如,我有一个用淘汰生成的表。 我需要将由knockout生成的DOM作为字符串传递给我的C#控制器,以便我可以构建PDF。 基本上,如果你看一下这里生成的内容: http://knockoutjs.com/documentation/foreach-binding.html 如果你仔细阅读例2(它产生了三个要点),它就说明了我正在谈论的那一代。 在我的情况下,我想要获取生成的项目符号并将它们传递给我的控制器 – HTML和所有 – 作为字符串,以便我可以保存它们。 有什么想法吗? 老实说,我甚至不确定从哪里开始 。

如何使用间距,制表符或填充来对齐列中的内容?

我正在尝试创建一个这样的pdf 但是当我尝试字符串填充时,它在pdf文件中看起来像这样 这是我试过的c#代码的一部分。 myExcelData是从excel文件中填充的。 for (int i = 0; i < 15; i++) { Chunk cSira = new Chunk((i + 1).ToString().PadRight(10), icerikFont); Chunk cHizmet = new Chunk(myExcelData.Tables[0].Rows[i][6].ToString().PadRight(80), icerikFont); Chunk cAdet = new Chunk(myExcelData.Tables[0].Rows[i][1].ToString().PadRight(10), icerikFont); Chunk cBirimFiyat = new Chunk(myExcelData.Tables[0].Rows[i][2].ToString().PadRight(20), icerikFont); Chunk cTutar = new Chunk(myExcelData.Tables[0].Rows[i][3].ToString().PadRight(20), icerikFont); d.Add(cSira); d.Add(cHizmet); d.Add(cAdet); d.Add(cBirimFiyat); d.Add(cTutar); d.Add(Chunk.NEWLINE); }