• <menu id="w2i4a"></menu>
  • logo Aspose.PDF使用教程

    文檔首頁(yè)>>Aspose.PDF使用教程>>PDF處理控件Aspose.PDF功能演示:使用C#實(shí)現(xiàn)PDF和TXT格式互轉(zhuǎn)

    PDF處理控件Aspose.PDF功能演示:使用C#實(shí)現(xiàn)PDF和TXT格式互轉(zhuǎn)


    PDF文件之所以受歡迎,是因?yàn)樗鼈冎С治谋?,圖像,動(dòng)畫(huà),視頻和許多其他注釋。

    但是,文本是大多數(shù)PDF文檔中最重要的部分。在本文中,我們將使用C#.NET將PDF轉(zhuǎn)換為T(mén)XT文件,并將TXT文件轉(zhuǎn)換為PDF格式。本文內(nèi)容包括:

    • 使用C?;騐B.NET將PDF轉(zhuǎn)換為T(mén)XT文件而不進(jìn)行格式化
    • 使用C?;騐B.NET使用格式化例程將PDF轉(zhuǎn)換為T(mén)XT文件
    • 使用C?;騐B.NET以編程方式將TXT文件轉(zhuǎn)換為PDF

    目前,.NET版Aspose.PDF升級(jí)到v20.9版,增強(qiáng)TIFF到PDF的轉(zhuǎn)換性能,修復(fù)LZW解碼器失敗等諸多Bug問(wèn)題,感興趣的朋友可點(diǎn)擊下方按鈕下載最新版。

    點(diǎn)擊下載最新版Aspose.PDF for .NET

    (安裝包僅提供部分功能,并設(shè)置限制,如需試用完整功能請(qǐng)申請(qǐng)免費(fèi)授權(quán)

    使用C?;騐B.NET將PDF轉(zhuǎn)換為T(mén)XT文件而不進(jìn)行格式化

    首先,我們將無(wú)需任何格式設(shè)置例程即可將PDF轉(zhuǎn)換為文本。文本內(nèi)容將按原樣轉(zhuǎn)換。因此,從輸入的PDF文件開(kāi)始,輸出文本將不遵循任何格式。需要按照以下步驟將PDF高效且可靠地轉(zhuǎn)換為T(mén)XT。

    • 加載輸入的PDF文檔
    • 初始化StringBuilder類(lèi)的實(shí)例
    • 遍歷PDF文檔的每一頁(yè)
    • 使用TextDevice和Raw模式讀取文本
    • 將輸出文本另存為T(mén)XT文件

    下面的代碼段顯示了如何在.NET Framework中使用C?;騐B將PDF轉(zhuǎn)換為T(mén)XT文件:

    // Open document
    Document pdfDocument = new Document(dataDir + "MultiColumnPdf.pdf");
    StringBuilder builder = new StringBuilder();
    // String to hold extracted text
    string extractedText = "";
    
    foreach (Page pdfPage in pdfDocument.Pages)
    {
        using (MemoryStream textStream = new MemoryStream())
        {
            // Create text device
            TextDevice textDevice = new TextDevice();
    
            // Set different options
            TextExtractionOptions options = new
            TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Raw);
            textDevice.ExtractionOptions = options;
    
            // Convert the page and save text to the stream
            textDevice.Process(pdfPage, textStream);
    
            // Close memory stream
            textStream.Close();
    
            // Get text from memory stream
            extractedText = Encoding.Unicode.GetString(textStream.ToArray());
        }
        builder.Append(extractedText);
    }
    
    dataDir = dataDir + "PDF_to_TXT_Raw.txt";
    // Save the text file
    File.WriteAllText(dataDir, builder.ToString());

    使用C?;騐B.NET使用格式化例程將PDF轉(zhuǎn)換為T(mén)XT文件

    可以按照以下步驟,使用C#輕松地將PDF文檔的文本內(nèi)容呈現(xiàn)為T(mén)XT文件:

    • 加載源PDF文件
    • 啟動(dòng)一個(gè)字符串變量
    • 使用TextFormattingMode.Pure通讀每個(gè)頁(yè)面
    • 保存轉(zhuǎn)換后的TXT文件

    以下代碼段顯示了如何使用C?;騐B.NET語(yǔ)言將PDF格式轉(zhuǎn)換為T(mén)XT文件:

    // Open document
    Document pdfDocument = new Document(dataDir + "MultiColumnPdf.pdf");
    StringBuilder builder = new StringBuilder();
    // String to hold extracted text
    string extractedText = "";
    
    foreach (Page pdfPage in pdfDocument.Pages)
    {
        using (MemoryStream textStream = new MemoryStream())
        {
            // Create text device
            TextDevice textDevice = new TextDevice();
    
            // Set different options
            TextExtractionOptions options = new
            TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Pure);
            textDevice.ExtractionOptions = options;
    
            // Convert the page and save text to the stream
            textDevice.Process(pdfPage, textStream);
    
            // Close memory stream
            textStream.Close();
    
            // Get text from memory stream
            extractedText = Encoding.Unicode.GetString(textStream.ToArray());
        }
        builder.Append(extractedText);
    }
    
    dataDir = dataDir + "PDF_to_TXT_Pure.txt";
    // Save the text file
    File.WriteAllText(dataDir, builder.ToString());

    視覺(jué)比較PURE和RAW文本轉(zhuǎn)換

    以下屏幕快照是我們剛剛討論的兩種方法的直觀比較。您會(huì)注意到,純模式(最右邊的窗口)以與PDF文件(最左邊的窗口)相同的格式顯示文本。

    PDF處理控件Aspose.PDF功能演示:使用C#實(shí)現(xiàn)PDF和TXT格式互轉(zhuǎn)

    使用C?;騐B.NET以編程方式將TXT文件轉(zhuǎn)換為PDF

    TXT文件通常包含大量文本內(nèi)容。您可以使用Aspose.PDF for .NET API輕松地將TXT文件轉(zhuǎn)換為PDF文件。只需按照以下步驟執(zhí)行文本到PDF的轉(zhuǎn)換:

    • 創(chuàng)建一個(gè)TextReader類(lèi)的實(shí)例
    • 初始化PDF文檔并添加空白頁(yè)
    • 實(shí)例化TextBuilder對(duì)象
    • 從輸入的TXT文件中讀取每一行文本
    • 保存輸出PDF文件

    下面的代碼段說(shuō)明了如何使用C?;騐B.NET語(yǔ)言以編程方式將包含文本的TXT文件轉(zhuǎn)換為PDF文檔:

    // Read input TXT file
    System.IO.TextReader tr = new StreamReader(dataDir + "Test.txt", Encoding.UTF8, true);
    
    // Initialize new Document
    Document doc = new Document();
    
    // Add blank page
    Page page = doc.Pages.Add();
    String strLine;
    
    // Initiate TextBuilder object
    TextBuilder builder = new TextBuilder(page);
    double x = 100; double y = 100;
    while ((strLine = tr.ReadLine()) != null)
    {
     TextFragment text = new TextFragment(strLine);
     text.Position = new Position(x, y);
     if (y >= page.PageInfo.Height - 72)
     {
      y = 100;
      page = doc.Pages.Add();
      builder = new TextBuilder(page);
     }
     else
     {
      y += 15;
     }
     builder.AppendText(text);
    }
    
    // Save output PDF file
    doc.Save(dataDir + "TexttoPDF.pdf");
    tr.Close();

    還想要更多嗎?您可以點(diǎn)擊閱讀
    【2020 · Aspose最新資源整合】查找需要的教程資源。如果您有任何疑問(wèn)或需求,請(qǐng)隨時(shí)加入Aspose技術(shù)交流群(642018183),我們很高興為您提供查詢(xún)和咨詢(xún)。
    掃碼咨詢(xún)


    添加微信 立即咨詢(xún)

    電話(huà)咨詢(xún)

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();