Archivy jako ZIP, RAR, TAR, GZIP, BZIP2 se běžně používají k ukládání více než jednoho souboru a složky do jednoho kontejneru. Dalším hlavním důvodem pro archivaci souborů je snížení celkové velikosti souboru pomocí kompresních algoritmů. Stejně jako při analýze a extrahování dat z dokumentů různých formátů souborů můžete stejným způsobem zacházet s archivními soubory. Ze souborů komprimovaných v archivech můžete extrahovat text, obrázky a dokonce i metadata. V tomto článku budeme diskutovat o tom, jak extrahovat data archivů ZIP pomocí C# s vašimi aplikacemi .NET.
Níže jsou uvedena následující témata:
.NET API pro extrahování dat souborů ZIP
GroupDocs.Parser poskytuje řešení pro analýzu dokumentů pro vývojáře. Budu používat jeho .NET API k extrahování dat souborů ZIP v příkladech C# v tomto článku. API dále umožňuje extrakci textu, obrázků a metadat z dlouhého seznamu podporovaných formátů dokumentů, jako jsou dokumenty pro zpracování textu, prezentace, tabulky, e-maily, databáze, elektronické knihy a mnoho dalších.
Můžete si stáhnout DLL nebo MSI instalační program z části ke stažení nebo nainstalovat API přidáním jeho balíčku do vaší aplikace .NET prostřednictvím NuGet.
PM> Install-Package GroupDocs.Parser
Jak extrahovat data souborů ZIP v C#
GroupDocs.Parser for .NET podporuje extrakci dat z různých formátů kompresních souborů, jako jsou ZIP, RAR, TAR, BZIP2 a GZIP. Po načtení kolekce souborů z komprimovaného souboru můžete dále extrahovat jakýkoli druh dat z každého souboru.
Následující kroky ukazují, jak extrahovat data souborů ZIP a načíst text z každého přiloženého souboru v C#.
- Načtěte archiv ZIP pomocí třídy Parser.
- Získejte přílohy pomocí metody GetContainer
- Projděte sbírku příloh.
- Pro každou přílohu můžete získat její jiný druh dat pomocí příslušných metod třídy Parser.
Zdrojový kód ukazuje, jak extrahovat data souborů ZIP pomocí C#. V tomto příkladu budu extrahovat celý text ze všech souborů v archivu ZIP.
// Extrahujte data z archivů ZIP v C#
using (Parser parser = new Parser(@"path/sample.zip"))
{
// Vyjměte přílohy z nádoby
IEnumerable<ContainerItem> attachments = parser.GetContainer();
// Iterujte přes kolekci entit
foreach (ContainerItem item in attachments)
{
// Vytiskněte FILE INFO
Console.WriteLine("-----------------------------------");
Console.WriteLine("Name: " + item.Name);
Console.WriteLine("File Size: " + item.Size + " Bytes");
Console.WriteLine("-----------------------------------");
try
{
using (Parser attachmentParser = item.OpenParser())
{
// Extrahujte text entity ZIP
using (TextReader reader = attachmentParser.GetText())
{
Console.WriteLine(reader == null ? "No text" : reader.ReadToEnd());
}
}
}
catch (UnsupportedDocumentFormatException)
{
Console.WriteLine("Isn't supported.");
}
}
}
Výstup výše uvedeného zdrojového kódu zobrazuje text načtený z jednoho ze souborů PDF v souboru ZIP.
-----------------------------------
Name: sample.pdf
File Size: 33370 Bytes
-----------------------------------
Heading
This is the first paragraph of the sample document that contains some sample
text, bulleted list, numbered list and more.
• Bullet Item 1
• Bullet Item 2
• Bullet Item 3
This is the second paragraph of the sample document and after this, there is a
numbered list:
1. Numbered Item 1
2. Numbered Item 2
3. Numbered Item 3
Získejte bezplatnou licenci API
Můžete získat bezplatnou dočasnou licenci, abyste mohli používat API bez omezení hodnocení.
Závěr
Abych to shrnul, naučili jste se, jak extrahovat data z archivů ZIP pomocí C# ve vaší aplikaci .NET. Konkrétně nyní můžete extrahovat data ze souborů ZIP, RAR, TAR, GZIP a BZIP. Můžete si dokonce vytvořit vlastní aplikaci pro extrakci dat .NET pro komprimované soubory. Další podrobnosti nebo informace o rozhraní API naleznete v dokumentaci. V případě dotazů nás kontaktujte prostřednictvím fóra.