翻譯|使用教程|編輯:李顯亮|2020-09-29 10:11:18.993|閱讀 699 次
概述:PDF文件之所以受歡迎,是因為它們支持文本,圖像,動畫,視頻和許多其他注釋。在本文中,將使用C#.NET將PDF轉換為TXT文件,并將TXT文件轉換為PDF格式。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
PDF文件之所以受歡迎,是因為它們支持文本,圖像,動畫,視頻和許多其他注釋。
但是,文本是大多數PDF文檔中最重要的部分。在本文中,我們將使用C#.NET將PDF轉換為TXT文件,并將TXT文件轉換為PDF格式。本文內容包括:
目前,.NET版Aspose.PDF升級到v20.9版,增強TIFF到PDF的轉換性能,修復LZW解碼器失敗等諸多Bug問題,感興趣的朋友可點擊下方按鈕下載最新版。
首先,我們將無需任何格式設置例程即可將PDF轉換為文本。文本內容將按原樣轉換。因此,從輸入的PDF文件開始,輸出文本將不遵循任何格式。需要按照以下步驟將PDF高效且可靠地轉換為TXT。
下面的代碼段顯示了如何在.NET Framework中使用C#或VB將PDF轉換為TXT文件:
// 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#輕松地將PDF文檔的文本內容呈現為TXT文件:
以下代碼段顯示了如何使用C#或VB.NET語言將PDF格式轉換為TXT文件:
// 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());
視覺比較PURE和RAW文本轉換
以下屏幕快照是我們剛剛討論的兩種方法的直觀比較。您會注意到,純模式(最右邊的窗口)以與PDF文件(最左邊的窗口)相同的格式顯示文本。
TXT文件通常包含大量文本內容。您可以使用Aspose.PDF for .NET API輕松地將TXT文件轉換為PDF文件。只需按照以下步驟執行文本到PDF的轉換:
下面的代碼段說明了如何使用C#或VB.NET語言以編程方式將包含文本的TXT文件轉換為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();
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn