Vandaag staan we op het punt enkele manieren te leren om metadata van documenten en afbeeldingen programmatisch te verwijderen of volledig op te schonen met C#. In een eerdere post bespraken we het verwijderen van zowel de selectieve als alle beschikbare metadata-eigenschappen van documenten en afbeeldingen met behulp van Java. Het is soms belangrijk om persoonlijke informatie te verbergen voor de ontvanger, die aan het document is gehecht. Hieronder volgen de onderwerpen die u zullen helpen bij het opschonen van uw bestanden van metadata met behulp van C#.

.NET Metadata verwijderen API

Om te bereiken wat gepland is, zal ik GroupDocs.Metadata for .NET API gebruiken waarmee .NET-ontwikkelaars metadata kunnen toevoegen, wijzigen, extraheren, verwijderen of volledig metadata kunnen toevoegen aan veel ondersteunde formaten documenten, afbeeldingen en andere bestanden. De API ondersteunt metadatastandaarden zoals EXIF, XMP, IPTC, ID3-tag, enz. U kunt DLL’s of MSI-installatieprogramma downloaden of installeren via NuGet.

Install-Package GroupDocs.Metadata

Metadata uit documenten verwijderen met C#

Gebruik de Sanitize-methode om alle metadata-eigenschappen te verwijderen zonder een specifiek filter toe te passen. Hieronder volgen de stappen om metadata van de documenten zoals DOCX, PDF, XLSX, enz. Op te schonen met GroupDocs.Metadata for .NET.

  • Begin met het maken van het klasseobject Metadata en geef het pad van het doeldocument door als parameter.
  • Gebruik de methode Sanitize om alle beschikbare metadata te wissen. Het retourneert het nummer van de verwijderde metadata-eigenschappen.
  • Roep de methode Opslaan aan om het uitvoerbestand met verwijderde metadata op te slaan.

Het volgende C#-codevoorbeeld laat zien hoe u metagegevens uit een PDF-document kunt verwijderen en wissen.

/*
* Reinig alle gedetecteerde metadata-eigenschappen uit Word, Excel, 
* PowerPoint, PDF en andere documenten met C#
*/
using (Metadata metadata = new Metadata("filePath/document.pdf"))
{
	var affected = metadata.Sanitize();
	metadata.Save("filePath/output.pdf");
}

Metadata uit afbeeldingen verwijderen met C#

Of u nu metadata uit uw documenten of uit uw afbeeldingsbestanden wilt verwijderen, het proces blijft hetzelfde. Alleen het brondocument wordt dienovereenkomstig gewijzigd.

  • Maak het object van de klasse Metadata en geef het documentpad door als parameter.
  • Roep de methode Sanitize aan om alle beschikbare metadata-eigenschappen te verwijderen.
  • Sla het uitvoerbestand op met de methode Opslaan.

Het volgende C#-codevoorbeeld laat zien hoe u metagegevens verwijdert uit een JPG-afbeelding.

/*
* Reinig of verwijder alle gedetecteerde metadata-eigenschappen van PNG, JPG/JPEG,
* WebP, BMP, GIF, TIFF en andere afbeeldingen met C#
*/
using (Metadata metadata = new Metadata("filePath/document.jpg"))
{
	var affected = metadata.Sanitize();
	metadata.Save("filePath/output.jpg");
}

Verwijder selectieve metadata uit documenten en afbeeldingen met C#

Als het niet nodig is om alle beschikbare metadata uit de bestanden te verwijderen, en we willen alleen de selectieve metadata-eigenschappen verwijderen. Met de volgende stappen kunt u de beoogde metagegevenseigenschappen lokaliseren en verwijderen met behulp van de specifieke naam van de eigenschap.

  • Maak een object van de klasse Metadata om het brondocument of afbeeldingsbestand te laden.
  • Creëer gepersonaliseerde specificaties om de metadata-eigenschappen te vinden.
  • Roep de methode RemoveProperties aan met de gemaakte gepersonaliseerde specificaties.
  • Sla het uitvoerbestand op met de methode Opslaan.
// Verwijder de metadata-eigenschappen uit documenten en afbeeldingen die voldoen aan het aangepaste filter met behulp van C#
using (Metadata metadata = new Metadata("filePath/document.docx"))
{
	// Verwijder alle eigenschappen die:
	// bevat de naam van de auteur van het document OF
	// het verwijst naar de laatste editor OR 
	// de eigenschapswaarde is een string EN gelijk aan de gegeven string "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");
}

Conclusie

We leerden de manieren om metadata uit documenten en afbeeldingen te verwijderen met behulp van C#. Nadat u dit artikel hebt doorgenomen, zou u zich op uw gemak voelen bij het bouwen van uw eigen toepassing voor het opschonen van metagegevens met behulp van .NET. Het ondersteunt het verwijderen van metadata uit MS Word-documentindelingen, spreadsheets, presentaties, PDF-bestanden, afbeeldingen, e-mails, eBooks, tekeningen, zip-bestanden en nog veel meer bestandsindelingen die worden ondersteund door de API.

U kunt de .NET Metadata Manipulation API uit de documentatie verder verkennen.

Zie ook