相关疑难解决方法(0)

使用VB.NET或C#中的itextsharp dll读取PDF内容

如何使用带有Pdfreader类的itextsharp读取PDF内容.我的PDF可能包含纯文本或文本图像.

c# vb.net pdf itextsharp

75
推荐指数
5
解决办法
20万
查看次数

在.NET中从PDF中读取文本

我正在尝试使用iTextSharp库将PDF中的文本读入字符串.

iTextSharp.text.pdf.PdfReader pdfReader = new iTextSharp.text.pdf.PdfReader(@"C:\mypdf.pdf");
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
string currentText = PdfTextExtractor.GetTextFromPage(pdfReader, 1, strategy);
text = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText))); 
pdfReader.Close();
Console.WriteLine(text);
Run Code Online (Sandbox Code Playgroud)

这通常可以正常工作,但是每隔几行就会省略空格,这样我的输出就像:"thisismyoutputwithoutwhitespace".正确解析的文本似乎与没有正确解析的文本相同; 相同的文本将被不正确地解析,这使我认为它是PDF中的东西.

.net c# pdf itext

5
推荐指数
1
解决办法
6883
查看次数

itext java pdf to text creation

我使用的是iText的转换PDF文本文件,它的工作原理其实不错,但对于一些的话它做以下事情:例如,在PDF有像"提出的主要思路"这句话,但iText的创造像"presentthemainideas"的输出.反正有没有纠正这种行为?

            String pdf="/home/can/Downloads/NLP/textSummarization/A New Approach for  Multi-Document Update Summarization.pdf";
    String txt="/home/can/myWorkSpace/PDFConverterProject/outputs/bb.txt";
    StringBuffer text=new StringBuffer() ;
    String resultText="";
    PdfReader reader;
    try {
        reader = new PdfReader(pdf);
        PdfReaderContentParser parser = new PdfReaderContentParser(reader);
        PrintWriter out = new PrintWriter(new FileOutputStream(txt));
        TextExtractionStrategy strategy;
        for (int i = 1; i <= reader.getNumberOfPages(); i++) {
            strategy = parser.processContent(i, new SimpleTextExtractionStrategy());
            text.append(strategy.getResultantText());

        }
        resultText=text.toString();
        resultText = resultText.replaceAll("-\n", "");
        out.println("-->"+resultText);

        StringTokenizer stringTokenizer=new StringTokenizer(resultText, "\n");
        PrintWriter lineWriter = new PrintWriter(new FileOutputStream("/home/can/myWorkSpace/PDFConverterProject/outputs/line.txt"));
        while (stringTokenizer.hasMoreTokens()){
            String curToken = stringTokenizer.nextToken();
            lineWriter.println("line-->"+curToken);
        }
        lineWriter.flush(); …
Run Code Online (Sandbox Code Playgroud)

java itext pdftotext

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

标签 统计

c# ×2

itext ×2

pdf ×2

.net ×1

itextsharp ×1

java ×1

pdftotext ×1

vb.net ×1