|
|
@@ -904,39 +904,53 @@ namespace InABox.WPF
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ public static byte[][] GetPDFThumbnails(byte[] pdfData, int width, int height)
|
|
|
+ {
|
|
|
+ using var inData = new MemoryStream(pdfData);
|
|
|
+ using var converter = new PdfToImageConverter(inData);
|
|
|
+ return converter.Convert(0, converter.PageCount - 1, new SizeF(width, height), true, false, false)
|
|
|
+ .ToArray(x =>
|
|
|
+ {
|
|
|
+ using var outData = new MemoryStream();
|
|
|
+ x.Position = 0;
|
|
|
+ x.CopyTo(outData);
|
|
|
+ return outData.ToArray();
|
|
|
+ });
|
|
|
+ }
|
|
|
|
|
|
public static byte[] PDFToBitmap(byte[] pdfData, int page)
|
|
|
{
|
|
|
- using (var inData = new MemoryStream(pdfData))
|
|
|
- {
|
|
|
- using (var converter = new PdfToImageConverter(inData))
|
|
|
- {
|
|
|
- using (var outData = new MemoryStream())
|
|
|
- {
|
|
|
- var stream = converter.Convert(page, false, false);
|
|
|
- stream.Position = 0;
|
|
|
- stream.CopyTo(outData);
|
|
|
- return outData.ToArray();
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
+ using var inData = new MemoryStream(pdfData);
|
|
|
+ using var converter = new PdfToImageConverter(inData);
|
|
|
+ using var outData = new MemoryStream();
|
|
|
+ var stream = converter.Convert(page, false, false);
|
|
|
+ stream.Position = 0;
|
|
|
+ stream.CopyTo(outData);
|
|
|
+ return outData.ToArray();
|
|
|
}
|
|
|
|
|
|
- public static Bitmap[] PDFToBitmapArray(byte[] pdfData)
|
|
|
+ public static byte[][] PDFToByteArrays(byte[] pdfData)
|
|
|
{
|
|
|
- Bitmap[] images = [];
|
|
|
- using (var ms = new MemoryStream(pdfData))
|
|
|
- {
|
|
|
- using (var converter = new PdfToImageConverter(ms))
|
|
|
+ using var ms = new MemoryStream(pdfData);
|
|
|
+ using var converter = new PdfToImageConverter(ms);
|
|
|
+ return converter.Convert(0, converter.PageCount - 1, false, false)
|
|
|
+ .ToArray(x =>
|
|
|
{
|
|
|
- images = converter.Convert(0, converter.PageCount - 1, false, false)
|
|
|
- .Select(x => new Bitmap(x))
|
|
|
- .ToArray();
|
|
|
- }
|
|
|
- }
|
|
|
+ using var outData = new MemoryStream();
|
|
|
+ x.Position = 0;
|
|
|
+ x.CopyTo(outData);
|
|
|
+ return outData.ToArray();
|
|
|
+ });
|
|
|
|
|
|
- return images;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static Bitmap[] PDFToBitmapArray(byte[] pdfData)
|
|
|
+ {
|
|
|
+ using var ms = new MemoryStream(pdfData);
|
|
|
+ using var converter = new PdfToImageConverter(ms);
|
|
|
+ return converter.Convert(0, converter.PageCount - 1, false, false)
|
|
|
+ .ToArray(x => new Bitmap(x));
|
|
|
}
|
|
|
|
|
|
[System.Runtime.InteropServices.DllImport("gdi32.dll")]
|