Skip to content

Commit a2a0ff9

Browse files
committed
#8: Adding in byte array and stream extensions for extract attachments
1 parent 050859e commit a2a0ff9

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

src/Kevsoft.PDFtk/PDFtkByteArrayExtensions.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,19 @@ public static async Task<IPDFtkResult<byte[]>> ReplacePage(this IPDFtk pdftk, by
141141

142142
return await pdftk.ReplacePage(inputFile.TempFileName, page, stampFile.TempFileName);
143143
}
144-
144+
145+
/// <summary>
146+
/// Extracts attachments from a PDF file.
147+
/// </summary>
148+
/// <param name="pdftk">The IPDFtk object.</param>
149+
/// <param name="fileBytes">A byte array of the PDF file input.</param>
150+
/// <returns>A result with the attachments.</returns>
151+
public static async Task<IPDFtkResult<IEnumerable<KeyValuePair<string, byte[]>>>> ExtractAttachments(this IPDFtk pdftk, byte[] fileBytes)
152+
{
153+
using var inputFile = await TempPDFtkFile.FromAsync(fileBytes);
154+
155+
return await pdftk.ExtractAttachments(inputFile.TempFileName);
156+
}
145157

146158
}
147159
}

src/Kevsoft.PDFtk/PDFtkStreamExtensions.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,5 +138,18 @@ public static async Task<IPDFtkResult<byte[]>> ReplacePage(this IPDFtk pdftk, St
138138

139139
return await pdftk.ReplacePage(inputFile.TempFileName, page, stampFile.TempFileName);
140140
}
141+
142+
/// <summary>
143+
/// Extracts attachments from a PDF file.
144+
/// </summary>
145+
/// <param name="pdftk">The IPDFtk object.</param>
146+
/// <param name="pdfFile">A stream of the PDF file input.</param>
147+
/// <returns>A result with the attachments.</returns>
148+
public static async Task<IPDFtkResult<IEnumerable<KeyValuePair<string, byte[]>>>> ExtractAttachments(this IPDFtk pdftk, Stream pdfFile)
149+
{
150+
using var inputFile = await TempPDFtkFile.FromAsync(pdfFile);
151+
152+
return await pdftk.ExtractAttachments(inputFile.TempFileName);
153+
}
141154
}
142155
}

0 commit comments

Comments
 (0)