Передайте строку[] для объединения изображений в pdf ASP.NET
Я пытаюсь объединить изображения из папки в pdf-файл. вот мой код:
/// <summary> /// Takes a collection of BMP files and converts them into a PDF document /// </summary> /// <param name="bmpFilePaths"></param> /// <returns></returns> private byte[] CreatePdf(string[] bmpFilePaths) { using (var ms = new MemoryStream()) { var document = new iTextSharp.text.Document(iTextSharp.text.PageSize.LETTER.Rotate(), 0, 0, 0, 0); iTextSharp.text.pdf.PdfWriter.GetInstance(document, ms).SetFullCompression(); document.Open(); foreach (var path in bmpFilePaths) { var imgStream = GetImageStream(path); var image = iTextSharp.text.Image.GetInstance(imgStream); image.ScaleToFit(document.PageSize.Width, document.PageSize.Height); document.Add(image); } document.Close(); return ms.ToArray(); } }
/// <summary> /// Gets the image at the specified path, shrinks it, converts to JPG, and returns as a stream /// </summary> /// <param name="imagePath"></param> /// <returns></returns> private Stream GetImageStream(string imagePath) { var ms = new MemoryStream(); using (var img = Image.FromFile(imagePath)) { var jpegCodec = ImageCodecInfo.GetImageEncoders() .Where(x => x.MimeType == "image/jpeg") .FirstOrDefault(); var encoderParams = new EncoderParameters(1); encoderParams.Param[0] = new EncoderParameter(Encoder.Quality, (long)20); int dpi = 175; var thumb = img.GetThumbnailImage((int)(11 * dpi), (int)(8.5 * dpi), null, IntPtr.Zero); thumb.Save(ms, jpegCodec, encoderParams); } ms.Seek(0, SeekOrigin.Begin); return ms; }
Изображения находятся в папке. может ли кто-нибудь сказать мне, как передать string[] со списком ссылок изображений в CreatePdf(string[] bmpFilesPath) из функции нажатия кнопки.
Что я уже пробовал:
Пробовал, но не нашел никакого решения
Спасибо