标签: itextsharp

在itext中使用PdfTextExtractor的问题!

首先请原谅我的英语不好!我想在pdf文档中搜索"Hello"之类的单词.所以我必须通过PdfTextExtractor阅读pdf中的每一页.我做得很好.我可以分别读取每个页面中的所有单词,并将其保存在字符串缓冲区中.但是当我在For循环中推送此代码时(例如从第1页到第7页进行搜索),前一页的单词将保留在字符串缓冲区中.我跳了解你的问题.Tanx全部.这是我的代码:

        PdfReader reader2 = new PdfReader(openFileDialog1.FileName);
        int pagen = reader2.NumberOfPages;
        reader2.Close();
        ITextExtractionStrategy its = new iTextSharp.text.pdf.parser.SimpleTextExtractionStrategy();
        for (int i = 1; i < pagen; i++)
        {
            textBox1.Text = "";
            PdfReader reader = new PdfReader(openFileDialog1.FileName);

            String  s = PdfTextExtractor.GetTextFromPage(reader, i, its);
            //MessageBox.Show(s.Length.ToString());
            //PdfTextArray h = new PdfTextArray(s);

            //
            // s = "";
            s = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(s)));
            textBox1.Text = s;
            reader.Close();
Run Code Online (Sandbox Code Playgroud)

}

c# search itextsharp

2
推荐指数
1
解决办法
1万
查看次数

如何使用iTextSharp创建包含纵向和横向页面的单个PDF文档

我已经能够在单独的文档中创建纵向页面和横向页面,但现在需要在一个文档中执行此操作.我正在使用ITextSharp库,document.setpagesize似乎适用于所有页面.它是否正确?

我正在使用PDFLib并且更改页面方向在该库中不是问题.

有什么建议?保罗.

itextsharp

2
推荐指数
1
解决办法
9347
查看次数

从PDF文档中获取单词计数

我希望以编程方式从pdf文档中获取单词count.

我看过PDFSharp,但它对我想做的事情来说太笨重了.我没有访问服务器,所以我无法安装acrobat来获取他们的api或任何东西.我愿意在iTextSharp或其他工具中做到这一点.

c# pdf itextsharp

2
推荐指数
1
解决办法
4255
查看次数

iTextSharp HTMLWorker ParseHTML Tablestyle和PDFStamper

您好我已成功使用HTMLWorker使用asp.NET/C#转换gridview.

(1)我已经对结果表应用了一些有限的样式,但是无法看到如何将tablestyle应用于实例网格线或应用其他格式样式,例如特定列的大列宽.(2)我实际上想把这个文本放到一个包含徽标等的预先存在的模板上.之前我曾使用过PDF Stamper,但是看不出我如何同时使用PDFStamper和HTMLWorker.HTMLWorker需要一个实现iDocListener的Document ......但这似乎与使用PDFStamper兼容.我想我要找的是一种创建PDFStamper,写标题等的方法,然后从网格中添加解析后的HTML.另一个问题是解析的内容不与页面上的其他内容交互.例如下面我向页面添加一个标题块.解析的HTML不是从它下面开始,而是在顶部写入.如何将已解析的HTML内容与PDF文档中的其余内容进行放置/交互?

在此先感谢Rob

这是我已经拥有的代码

            Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 30f, 0f);

            HTMLWorker htmlWorker = new HTMLWorker(pdfDoc);

            StyleSheet styles = new StyleSheet();
            styles.LoadTagStyle("th", "size", "12px");
            styles.LoadTagStyle("th", "face", "helvetica");
            styles.LoadTagStyle("span", "size", "10px");
            styles.LoadTagStyle("span", "face", "helvetica");                
            styles.LoadTagStyle("td", "size", "10px");
            styles.LoadTagStyle("td", "face", "helvetica");     

            htmlWorker.SetStyleSheet(styles);

            PdfWriter.GetInstance(pdfDoc, HttpContext.Current.Response.OutputStream);

            pdfDoc.Open();

            //Title - but this gets obsured by data, doesnt move it down
            Font font = new Font(Font.FontFamily.HELVETICA, 14, Font.BOLD);
            Chunk chunk = new Chunk(title, font);                
            pdfDoc.Add(chunk);


            //Body
            htmlWorker.Parse(sr);
Run Code Online (Sandbox Code Playgroud)

c# asp.net itextsharp

2
推荐指数
1
解决办法
4万
查看次数

使用iTextSharp更改PDF的字体

如何在C#中使用iTextSharp更改现有PDF文件的字体?

我想将整个文档字体更改为一个,例如Arial

c# pdf itextsharp

2
推荐指数
1
解决办法
8263
查看次数

具有透明度的iTextSharp图像提取

我正在使用iTextSharp并尝试从PDF中提取透明图像.当我提取图像时,透明度变为纯黑色并丢失.我发现了多个图像提取示例,但所有这些示例似乎都有相同的问题.我正在使用的代码如下

另一个例子来自itextpdf.com/examples/iia.php?id=284.此示例包括顶部"结果"部分中的图像.如果单击Img7.png,您将在图像中看到黑色边框,但是在页面底部有一个指向原始图像info.png的链接,该链接显示了它应该看起来的透明度.这是我遇到的确切问题.任何帮助或想法将不胜感激

public void ExtractImage(string pdfFile)
        {
            const int pageNumber = 1; //Page number to extract the image from
            PdfReader pdf = new PdfReader(pdfFile);
            PdfDictionary pg = pdf.GetPageN(pageNumber);
            PdfDictionary res = (PdfDictionary)PdfReader.GetPdfObject(pg.Get(PdfName.RESOURCES));
            PdfDictionary xobj = (PdfDictionary)PdfReader.GetPdfObject(res.Get(PdfName.XOBJECT));
            foreach (PdfName name in xobj.Keys)
            {
                PdfObject obj = xobj.Get(name);
                if (obj.IsIndirect())
                {
                    PdfDictionary tg = (PdfDictionary)PdfReader.GetPdfObject(obj);
                    string width = tg.Get(PdfName.WIDTH).ToString();
                    string height = tg.Get(PdfName.HEIGHT).ToString();
                    ImageRenderInfo imgRI =
                            ImageRenderInfo.CreateForXObject(new Matrix(float.Parse(width), float.Parse(height)),
                                                             (PRIndirectReference)obj, tg);

                    var fileType= imgRI.GetImage().GetFileType();
                    RenderImage(imgRI, imgPath + +imgRI.GetRef().Number …
Run Code Online (Sandbox Code Playgroud)

pdf itext itextsharp

2
推荐指数
1
解决办法
3243
查看次数

itext sharp pdf with acrofields - 合并时字段丢失

我现在试过这个,但它不起作用.form.GenerateAppearances = true;我合并了我的2个文件然后保存.然后我再次打开它以填充所有字段.它说所有的Acrofields钥匙都不见了,但是当我在Nitro pro中打开它的时候.为什么我不能在代码中看到它们?在保存之前我是否必须添加一些东西?

private static void CombineAndSavePdf1(string savePath, List<string> lstPdfFiles)
{
    using (Stream outputPdfStream = new FileStream(savePath, FileMode.Create, FileAccess.Write, FileShare.None))
    {
        Document document = new Document();
        PdfSmartCopy copy = new PdfSmartCopy(document, outputPdfStream);
        document.Open();
        PdfReader reader;
        int totalPageCnt;
        PdfStamper stamper;
        string[] fieldNames;
        foreach (string file in lstPdfFiles)
        {
            reader = new PdfReader(file);
            totalPageCnt = reader.NumberOfPages;
            for (int pageCnt = 0; pageCnt < totalPageCnt; )
            {
                //have to create new reader for each page or PdfStamper will throw error …
Run Code Online (Sandbox Code Playgroud)

c# itext itextsharp

2
推荐指数
1
解决办法
2873
查看次数

使用iTextSharp将某些TIF压缩格式转换为PDF时出现问题

我正在使用iTextSharp将单页TIF文件转换和拼接为多页PDF文件。单页TIF文件具有不同的位深和压缩率。

这是代码-

private void button1_Click(object sender, EventArgs e)
{
    List<string> TIFfiles = new List<string>();
    Document document;
    PdfWriter pdfwriter;
    Bitmap tifFile;
    pdfFilename = <file path>.PDF;
    TIFfiles = <load the path to each TIF file in this array>;

    //Create document 
    document = new Document();

    // creation of the different writers
    pdfwriter = PdfWriter.GetInstance(document, new System.IO.FileStream(pdfFilename, FileMode.Create));

    document.Open();
    document.SetMargins(0, 0, 0, 0);

    foreach (string file in TIFfiles)
    {

        //load the tiff image  
        tifFile = new Bitmap(file);

        //Total number of pages

        iTextSharp.text.Rectangle pgSize = …
Run Code Online (Sandbox Code Playgroud)

itext itextsharp

2
推荐指数
1
解决办法
1921
查看次数

iTextSharp中多行文本表单字段的对齐问题

我编写了一个应用程序,以编程方式从数据库中填写PDF模板中的表格并将结果保存到磁盘。除了未按预期呈现的任何多行文本字段之外,所有内容均正常运行。它们应该在顶部,并在行与行之间保持无间隔。

我得到的结果是在这里: 在此处输入图片说明

但是,当我使用任何PDF阅读器单击表单字段时,该字段都会根据我的期望进行自我更正。见: 在此处输入图片说明

我使用的代码非常漂亮。

            PdfStamper stamper = new PdfStamper(reader, ms, '\0', false);

            AcroFields form = stamper.AcroFields;
            List<DocumentField> fields = GetData(id);
            foreach (DocumentField field in fields)
            {
                form.SetField(field.FieldName, field.Value);
            }

            stamper.FormFlattening = true;
            stamper.Close();
            reader.Close();
Run Code Online (Sandbox Code Playgroud)

System.Environment.NewLine用来添加回程报酬。有谁知道是什么原因导致这种现象,以及解决方案使左上角对齐而没有大的间隙。谢谢。

更新解决方案

我删除了该字段并重新添加它,它的行为符合预期。实际上似乎是问题出在,我使用的是一种名为“ Cambria”的字体,如果我将该字段设置回使用该字体,则会返回该行为。

c# itext itextsharp

2
推荐指数
1
解决办法
3323
查看次数

使用iTextSharp.tool.xml无法正常工作

我花了3天时间为什么使用iTextSharp.tool.xml添加命名空间无法正常工作.我已经将itextsharp.dll放在bin文件夹中.其他相关的命名空间正在运行.Plz的帮助.

c# asp.net itextsharp

2
推荐指数
2
解决办法
8968
查看次数

标签 统计

itextsharp ×10

c# ×7

itext ×4

pdf ×3

asp.net ×2

search ×1