Các tệp PDF phổ biến vì chúng hỗ trợ văn bản, hình ảnh, hoạt ảnh, video và nhiều chú thích khác. Tuy nhiên, văn bản là phần quan trọng nhất trong phần lớn các tài liệu PDF. Trong bài viết này, chúng tôi sẽ chuyển đổi tệp PDF thành TXT và tệp TXT sang định dạng PDF bằng C# .NET. Chuyển đổi này hữu ích trong các tình huống mà bạn chỉ quan tâm đến nội dung văn bản của tài liệu PDF. Chúng ta hãy xem qua các tiêu đề sau để biết tổng quan về các chủ đề sắp tới:

Mẹo: Bạn có thể quan tâm đến Chuyển đổi văn bản thành GIF miễn phí cho phép bạn tạo hoạt ảnh từ văn bản.

Chuyển đổi TXT sang PDF hoặc PDF sang TXT

Chuyển đổi PDF sang TXT cũng như chuyển đổi tệp TXT sang PDF rất hữu ích khi mối quan tâm chính của bạn là chuỗi văn bản được sử dụng trong tài liệu. Bạn có thể chuyển đổi các định dạng tệp này sang định dạng tệp khác bằng vài bước đơn giản bằng API Aspose.PDF for .NET. Là một API dựa trên .NET framework, nó cho phép bạn làm việc với C# cũng như ngôn ngữ lập trình VB.NET. Bạn có thể dễ dàng cài đặt API trong các ứng dụng .NET của mình bằng cách tải xuống tệp DLL từ Tải xuống hoặc qua thư viện NuGet.

Sau khi cài đặt API thành công, chúng ta hãy tiến hành chuyển đổi tệp PDF thành tệp TXT với hai cách tiếp cận khác nhau:

Chuyển đổi PDF sang tệp TEXT mà không cần định dạng bằng C# hoặc VB.NET

Trước hết, chúng tôi sẽ chuyển đổi PDF thành Văn bản mà không cần bất kỳ quy trình định dạng nào. Nội dung văn bản sẽ được chuyển đổi ở dạng nguyên trạng. Vì vậy, văn bản đầu ra sẽ không tuân theo bất kỳ định dạng nào của tệp PDF đầu vào. Bạn cần làm theo các bước bên dưới để chuyển đổi PDF sang TXT với hiệu quả và độ tin cậy cao.

  1. Tải tài liệu PDF đầu vào
  2. Khởi tạo một thể hiện của StringBuilder Class
  3. Lặp lại qua từng trang của tài liệu PDF
  4. Đọc văn bản bằng chế độ TextDeviceRaw
  5. Lưu Văn bản đầu ra dưới dạng tệp TXT

Đoạn mã dưới đây cho biết cách chuyển đổi tệp PDF sang tệp TXT bằng C# hoặc VB trong .NET Framework:

// mở tài liệu
Document pdfDocument = new Document(dataDir + "MultiColumnPdf.pdf");
StringBuilder builder = new StringBuilder();
// Chuỗi để giữ văn bản trích xuất
string extractedText = "";

foreach (Page pdfPage in pdfDocument.Pages)
{
    using (MemoryStream textStream = new MemoryStream())
    {
        // Tạo thiết bị văn bản
        TextDevice textDevice = new TextDevice();

        // Đặt các tùy chọn khác nhau
        TextExtractionOptions options = new
        TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Raw);
        textDevice.ExtractionOptions = options;

        // Chuyển đổi trang và lưu văn bản vào luồng
        textDevice.Process(pdfPage, textStream);

        // Đóng luồng bộ nhớ
        textStream.Close();

        // Nhận văn bản từ dòng bộ nhớ
        extractedText = Encoding.Unicode.GetString(textStream.ToArray());
    }
    builder.Append(extractedText);
}

dataDir = dataDir + "PDF_to_TXT_Raw.txt";
// Lưu tệp văn bản
File.WriteAllText(dataDir, builder.ToString());

Chuyển đổi tệp PDF sang tệp TXT với các thói quen định dạng bằng C# hoặc VB.NET

Bây giờ, chúng ta hãy xem xét trường hợp sử dụng mà bạn cần chuyển đổi PDF thành Văn bản với một chút thói quen định dạng. Ví dụ: thụt lề đoạn văn, tab, kiểu hoặc định dạng theo cột. Bạn có thể dễ dàng hiển thị nội dung văn bản của tài liệu PDF thành tệp TXT bằng C# bằng cách thực hiện theo các bước bên dưới:

  1. Tải tệp PDF nguồn
  2. Khởi tạo một biến chuỗi
  3. Đọc qua từng trang với TextFormattingMode.Pure
  4. Lưu tệp TXT đã chuyển đổi

Đoạn mã sau cho biết cách chuyển đổi tệp PDF sang tệp TXT với định dạng bằng ngôn ngữ C# hoặc VB.NET:

// mở tài liệu
Document pdfDocument = new Document(dataDir + "MultiColumnPdf.pdf");
StringBuilder builder = new StringBuilder();
// Chuỗi để giữ văn bản trích xuất
string extractedText = "";

foreach (Page pdfPage in pdfDocument.Pages)
{
    using (MemoryStream textStream = new MemoryStream())
    {
        // Tạo thiết bị văn bản
        TextDevice textDevice = new TextDevice();

        // Đặt các tùy chọn khác nhau
        TextExtractionOptions options = new
        TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Pure);
        textDevice.ExtractionOptions = options;

        // Chuyển đổi trang và lưu văn bản vào luồng
        textDevice.Process(pdfPage, textStream);

        // Đóng luồng bộ nhớ
        textStream.Close();

        // Nhận văn bản từ dòng bộ nhớ
        extractedText = Encoding.Unicode.GetString(textStream.ToArray());
    }
    builder.Append(extractedText);
}

dataDir = dataDir + "PDF_to_TXT_Pure.txt";
// Lưu tệp văn bản
File.WriteAllText(dataDir, builder.ToString());

So sánh trực quan về chuyển đổi văn bản PURE và RAW

Ảnh chụp màn hình sau đây là sự so sánh trực quan của hai cách tiếp cận mà chúng ta vừa thảo luận. Bạn có thể nhận thấy rằng Chế độ thuần túy (cửa sổ ngoài cùng bên phải) hiển thị Văn bản có cùng định dạng như trong tệp PDF (cửa sổ ngoài cùng bên trái).

Chuyển đổi PDF TXT csharp

Ảnh chụp màn hình các tệp đầu vào và đầu ra này cho phép bạn quyết định phương pháp chuyển đổi nào phù hợp với bạn nhất.

Chuyển đổi tệp TXT thành PDF theo chương trình bằng C# hoặc VB.NET

Các tệp TXT thường chứa nội dung văn bản lớn. Bạn có thể dễ dàng chuyển đổi tệp TXT thành tệp PDF bằng Aspose.PDF for .NET API. Chỉ cần làm theo các bước bên dưới để thực hiện chuyển đổi văn bản sang PDF:

  1. Tạo một thể hiện của lớp TextReader
  2. Khởi tạo tài liệu PDF và thêm trang trống
  3. Khởi tạo đối tượng TextBuilder
  4. Đọc từng dòng văn bản từ tệp TXT đầu vào
  5. Lưu tệp PDF đầu ra

Đoạn mã dưới đây giải thích cách lập trình chuyển đổi tệp TXT chứa văn bản thành tài liệu PDF bằng ngôn ngữ C# hoặc VB.NET:

// Đọc tệp TXT đầu vào
System.IO.TextReader tr = new StreamReader(dataDir + "Test.txt", Encoding.UTF8, true);

// Khởi tạo tài liệu mới
Document doc = new Document();

// Thêm trang trống
Page page = doc.Pages.Add();
String strLine;

// Khởi tạo đối tượng TextBuilder
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);
}

// Lưu tệp PDF đầu ra
doc.Save(dataDir + "TexttoPDF.pdf");
tr.Close();

Sự kết luận

Trong bài viết này chúng ta đã cùng nhau tìm hiểu và khám phá việc chuyển đổi văn bản trong file PDF sang định dạng file TXT. Ngoài ra, chúng tôi đã chuyển đổi văn bản trong tệp TXT thành tài liệu PDF bằng C# hoặc VB trong .NET Framework. Bạn có thể chuyển đổi các tệp PDF và TXT khá hiệu quả và nhanh chóng. Tuy nhiên, nếu bạn có bất kỳ thắc mắc hoặc thắc mắc nào, vui lòng viết thư phản hồi cho chúng tôi tại Diễn đàn hỗ trợ miễn phí hoặc khám phá Tài liệu sản phẩm. Chúng tôi rất mong nhận được hồi âm từ bạn!

Xem thêm