Čtení různých typů dokumentů programově je v dnešní době běžnou praxí. V tomto návodu se naučíte, jak číst soubor PDF v C# pomocí níže uvedených jednoduchých kroků.
Kroky ke čtení souboru PDF v C#
- Vytvořte prázdnou aplikaci konzoly C# v sadě Visual Studio
- Přidejte odkaz na Aspose.PDF for .NET jeho instalací z NuGet.org
- Načtěte existující soubor PDF do objektu dokumentu
- Inicializujte třídu TextAbsorber pro čtení souboru PDF
- Extrahujte text PDF a zapište jej do výstupu konzoly
- Projděte si stránku PDF Resources a vyhledejte obrázky
- Vytvořte objekt FileStream s nalezeným obrázkem
- Uložte obraz na místní disk
Níže uvedený fragment kódu vysvětluje, jak otevřít a číst soubor PDF v C#. Pomocí něj budete moci číst text a extrahovat obrázky ze souboru PDF. API nabízí třídu TextAbsorber, která se používá ke čtení textu ze souboru PDF a extrahovaných výsledků můžete dosáhnout prostřednictvím objektu Text. Vyhledání obrázků a jejich uložení na místní disk je také možné procházením zdrojů stránky PDF, jak je znázorněno níže.
Kód pro čtení souboru PDF v C#
using System; | |
using System.IO; | |
// Add reference to Aspose.PDF for .NET API | |
// Use following namespace to read PDF file | |
using Aspose.Pdf; | |
namespace ReadPDFFiles | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
// Set license before reading PDF file | |
Aspose.Pdf.License AsposePDFLicense = new Aspose.Pdf.License(); | |
AsposePDFLicense.SetLicense(@"c:\asposelicense\license.lic"); | |
string inFile = @"c:\ReadPDFFileInCSharp.pdf"; | |
// Load an existing PDF file in Document object to read | |
Document pdf = new Document(inFile); | |
// 1. Read text from PDF file | |
// Initialize TextAbsorber Class to read Text from PDF file | |
Aspose.Pdf.Text.TextAbsorber textAbsorber = new Aspose.Pdf.Text.TextAbsorber(); | |
// Call Page.Accept() method to let TextAbsorber find text in PDF Pages | |
pdf.Pages.Accept(textAbsorber); | |
// Write the extracted text to Console output | |
Console.WriteLine(textAbsorber.Text); | |
// 2. Extract images from PDF file | |
int imageIndex = 1; | |
// Iterate through PDF pages | |
foreach (var pdfPage in pdf.Pages) | |
{ | |
// Check available images while reading the PDF | |
foreach (XImage image in pdfPage.Resources.Images) | |
{ | |
// Create file stream for found image | |
FileStream extractedImage = new FileStream(String.Format("Page{0}_Image{1}.jpg", pdfPage.Number, imageIndex), FileMode.Create); | |
// Save output image to the disk | |
image.Save(extractedImage, System.Drawing.Imaging.ImageFormat.Jpeg); | |
// Close stream | |
extractedImage.Close(); | |
imageIndex++; | |
} | |
// Reset image index | |
imageIndex = 1; | |
} | |
} | |
} | |
} |
V předchozím tématu jste se dozvěděli jak zpracovat velké soubory PDF v C#. Výše uvedené informace a příklad kódu vám umožní otevírat a číst soubory PDF v C# za účelem extrahování textu a obrázků.