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#.

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.

Viz také