Dnes se chystáme naučit některé způsoby, jak programově odstranit nebo zcela vyčistit metadata dokumentů a obrázků pomocí C#. V dřívějším příspěvku jsme diskutovali o odstranění selektivních a všech dostupných vlastností metadat z dokumentů a obrázků pomocí Javy. Někdy je důležité skrýt osobní informace před příjemcem, které jsou připojeny k dokumentu. Následují témata, která vám pomohou vyčistit soubory od metadat pomocí C#.
- .NET Metadata Cleaner API
- Odebrat metadata z dokumentů pomocí C#
- Vyčistit metadata z obrázků pomocí C#
- Odstraňte selektivní metadata z dokumentů a obrázků pomocí C#
API pro odstranění metadat .NET
K dosažení toho, co je plánováno, použiji GroupDocs.Metadata for .NET API, které umožňuje vývojářům .NET přidávat, upravovat, extrahovat, odstraňovat nebo úplně metadata z mnoha podporovaných formátů dokumentů, obrázky a další soubory. Rozhraní API podporuje standardy metadat jako EXIF, XMP, IPTC, ID3 tag atd. Můžete si stáhnout DLL nebo MSI instalační program nebo jej nainstalovat přes NuGet.
Install-Package GroupDocs.Metadata
Odebrat metadata z dokumentů pomocí C#
Chcete-li odstranit všechny vlastnosti metadat bez použití konkrétního filtru, použijte metodu Sanitize. Následují kroky k vyčištění metadat z dokumentů jako DOCX, PDF, XLSX atd. pomocí GroupDocs.Metadata for .NET.
- Začněte vytvořením objektu třídy Metadata a jako parametr předejte cestu cílového dokumentu.
- Pomocí metody Sanitize vymažte všechna dostupná metadata. Vrátí počet odstraněných vlastností metadat.
- Voláním metody Save uložíte výstupní soubor s odstraněnými metadaty.
Následující ukázka kódu C# ukazuje, jak odstranit a vymazat metadata z dokumentu PDF.
/*
* Vyčistěte všechny zjištěné vlastnosti metadat z aplikací Word, Excel,
* PowerPoint, PDF a další dokumenty používající C#
*/
using (Metadata metadata = new Metadata("filePath/document.pdf"))
{
var affected = metadata.Sanitize();
metadata.Save("filePath/output.pdf");
}
Odebrat metadata z obrázků pomocí C#
Bez ohledu na to, zda chcete odstranit metadata ze svých dokumentů nebo ze souborů obrázků, proces zůstane stejný. Příslušně se změní pouze zdrojový dokument.
- Vytvořte objekt třídy Metadata a jako parametr předejte cestu k dokumentu.
- Voláním metody Sanitize odstraňte všechny dostupné vlastnosti metadat.
- Uložte výstupní soubor pomocí metody Save.
Následující ukázka kódu C# ukazuje, jak odstranit metadata z obrázku JPG.
/*
* Vyčistěte nebo odstraňte všechny zjištěné vlastnosti metadat z PNG, JPG/JPEG,
* WebP, BMP, GIF, TIFF a další obrázky pomocí C#
*/
using (Metadata metadata = new Metadata("filePath/document.jpg"))
{
var affected = metadata.Sanitize();
metadata.Save("filePath/output.jpg");
}
Odstraňte selektivní metadata z dokumentů a obrázků pomocí C#
Pokud není vyžadováno odstranění všech dostupných metadat ze souborů a chceme odstranit pouze selektivní vlastnosti metadat. Následující kroky vám umožní vyhledat a odebrat cílené vlastnosti metadat pomocí konkrétního názvu vlastnosti.
- Vytvořte objekt třídy Metadata pro načtení zdrojového dokumentu nebo souboru obrázku.
- Vytvořte personalizované specifikace, abyste našli vlastnosti metadat.
- Zavolejte metodu RemoveProperties s vytvořenými personalizovanými specifikacemi.
- Uložte výstupní soubor pomocí metody Save.
// Odstraňte vlastnosti metadat z dokumentů a obrázků, které vyhovují přizpůsobenému filtru pomocí C#
using (Metadata metadata = new Metadata("filePath/document.docx"))
{
// Odstraňte všechny vlastnosti, které:
// obsahuje jméno autora dokumentu NEBO
// odkazuje na posledního editora OR
// hodnota vlastnosti je řetězec A rovna danému řetězci "GroupDocs"
var affected = metadata.RemoveProperties(
p => p.Tags.Contains(Tags.Person.Creator) ||
p.Tags.Contains(Tags.Person.Editor) ||
p.Value.Type == MetadataPropertyType.String && p.Value.ToString().Contains("GroupDocs"));
Console.WriteLine("Properties removed: {0}", affected);
metadata.Save("outputPath/document.docx");
}
Závěr
Naučili jsme se způsoby, jak odstranit metadata z dokumentů a obrázků pomocí C#. Po prostudování tohoto článku byste se cítili pohodlně při vytváření vlastní aplikace pro čištění metadat pomocí .NET. Může podporovat odstraňování metadat z formátů dokumentů MS Word, tabulek, prezentací, souborů PDF, obrázků, e-mailů, e-knih, kreseb, souborů zip a mnoha dalších formáty souborů, které jsou podporovány rozhraním API.
Můžete dále prozkoumat .NET Metadata Manipulation API z dokumentace.