Formatet PDF stöder att lägga till bilagor till en PDF-fil som liknar e-postbilagor. En PDF-bilaga kan vara av TXT, DOCX, XLSX eller något annat dokumentformat. I den här artikeln kommer du att lära dig hur du implementerar några grundläggande funktioner för manipulering av PDF-bilagor i dina .NET-applikationer. I slutet av den här artikeln kommer du att kunna extrahera, lägga till eller ta bort bilagor i en PDF-fil programmatiskt med C#.
- PDF Attachment Manipulation API - Gratis nedladdning
- Lägg till bilagor till PDF med C#
- Extrahera PDF-bilaga med C#
- Ta bort bilagor från PDF med C#
PDF Attachment Manipulation API - Gratis nedladdning
Aspose.PDF for .NET är ett välkänt PDF-manipulerings-API som låter dig bearbeta PDF-filer sömlöst. Du kan läsa, skapa, redigera och konvertera PDF-filerna och manipulera PDF-bilagor inom några få steg. API:t kan laddas ned som DLL eller MSI samt installeras med NuGet.
Install-Package Aspose.Pdf
Lägg till bilagor till PDF med C#
Aspose.PDF för .NET låter dig också lägga till bilagorna till en PDF-fil. För detta behöver du helt enkelt lägga till filen i samlingen Document.EmbeddedFiles med klassen FileSpecification. Följande är stegen för att lägga till en bilaga till ett PDF-dokument.
- Skapa ett nytt PDF-dokument med klassen Document.
- Skapa en instans av klassen FileSpecification för att ladda den bifogade filen.
- Använd metoden Document.EmbeddedFiles.Add(FileSpecification) för att lägga till bilagan.
- Spara dokumentet med metoden Document.Save(String).
Följande kodexempel visar hur man lägger till en bilaga till ett PDF-dokument med C#.
// För fullständiga exempel och datafiler, gå till https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Öppna dokumentet
Document pdfDocument = new Document("document.pdf");
// Konfigurera ny fil som ska läggas till som bilaga
FileSpecification fileSpecification = new FileSpecification("test.txt", "Sample text file");
// Lägg till bilaga till dokumentets bilagasamling
pdfDocument.EmbeddedFiles.Add(fileSpecification);
// Spara ny utgång
pdfDocument.Save("output.pdf");
Extrahera PDF-bilaga med C#
Först av allt, låt oss kolla in hur man hämtar bilagor från ett PDF-dokument. För detta, följ stegen nedan:
- Skapa en instans av klassen Document.
- Hämta bilagorna till ett EmbeddedFileCollection-objekt med hjälp av egenskapen Document.EmbeddedFiles.
- Gå igenom bilagor i EmbeddedFileCollection med FileSpecification-objektet.
- Få åtkomst till egenskaperna för varje bilaga med hjälp av objektet FileSpecification.
- Spara bilagan som en fil (om det behövs).
Följande kodexempel visar hur man extraherar PDF-bilagor med C#.
// För fullständiga exempel och datafiler, gå till https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Öppna dokumentet
Document pdfDocument = new Document("document.pdf");
// Skaffa en speciell inbäddad fil
foreach(FileSpecification fileSpecification in pdfDocument.EmbeddedFiles)
{
// Hämta filegenskaperna
Console.WriteLine("Name: {0}", fileSpecification.Name);
Console.WriteLine("Description: {0}", fileSpecification.Description);
Console.WriteLine("Mime Type: {0}", fileSpecification.MIMEType);
// Kontrollera om parameterobjektet innehåller parametrarna
if (fileSpecification.Params != null)
{
Console.WriteLine("CheckSum: {0}",
fileSpecification.Params.CheckSum);
Console.WriteLine("Creation Date: {0}",
fileSpecification.Params.CreationDate);
Console.WriteLine("Modification Date: {0}",
fileSpecification.Params.ModDate);
Console.WriteLine("Size: {0}", fileSpecification.Params.Size);
}
// Skaffa bilagan och skriv till fil eller stream
byte[] fileContent = new byte[fileSpecification.Contents.Length];
fileSpecification.Contents.Read(fileContent, 0, fileContent.Length);
FileStream fileStream = new FileStream(fileSpecification.Name, FileMode.Create);
fileStream.Write(fileContent, 0, fileContent.Length);
fileStream.Close();
}
Ta bort bilagor från PDF med C#
Du kan antingen ta bort alla eller en viss bilaga från en PDF-fil. För detta tillhandahåller Aspose.PDF för .NET följande metoder:
- Radera() - Deletes all the attachments.
- Ta bort (sträng filnamn) - Deletes attachment by name.
- DeleteByKey(String Key) - Deletes attachment by key in the collection.
Följande är stegen för att ta bort bilagor från en PDF.
- Skapa en instans av klassen Document för att ladda PDF-filen.
- Använd Document.EmbeddedFiles.Delete()(eller annan raderingsmetod) för att ta bort bilagor.
- Spara filen med metoden Document.Save(String).
Följande kodexempel visar hur man tar bort bilagor från en PDF-fil i C#.
// För fullständiga exempel och datafiler, gå till https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Öppna dokumentet
Document pdfDocument = new Document("document.pdf");
// Ta bort alla bilagor
pdfDocument.EmbeddedFiles.Delete();
// Spara uppdaterad fil
pdfDocument.Save("output.pdf");
Slutsats
I den här artikeln har du sett hur du manipulerar bilagorna i PDF-dokument programmatiskt. Steg-för-steg-guiden, API-referenser och kodexempel har visat hur man hämtar, lägger till och tar bort bilagor i PDF-filer med C#. Du kan lära dig mer om Aspose.PDF för .NET med hjälp av dokumentationen.