As a continuation of this forum post (which seems to be archived):
https://www.telerik.com/forums/png-merge
All the given examples show how merging two images can be done in JavaScript. I need this to happen in ASP.NET Core MVC 5.0.
I assume this will look something like how we marge PDF files. I merge two PDF files like this:
https://www.telerik.com/forums/png-merge
All the given examples show how merging two images can be done in JavaScript. I need this to happen in ASP.NET Core MVC 5.0.
I assume this will look something like how we marge PDF files. I merge two PDF files like this:
MemoryStream newStream = new MemoryStream();
using (PdfStreamWriter fileWriter = new PdfStreamWriter(newStream, true))
{
using (PdfFileSource fileSource = new PdfFileSource(primaryStream))
{
foreach (PdfPageSource pageSource in fileSource.Pages)
{
fileWriter.WritePage(pageSource);
}
}
using (PdfFileSource fileSource = new PdfFileSource(appendStream))
{
foreach (PdfPageSource pageSource in fileSource.Pages)
{
fileWriter.WritePage(pageSource);
}
}
}
You would like to merge two or more images and the resulting file should be a PDF, is that the case? If so you can check the RadPdfProcessing Library and in particular the section on adding images as content elements to a RadFixedPage.
If you need to merge two images and the resulting file to be an image, I'm afraid we do not provide such a library that would allow you to achieve the desired result.
This is what I have so far... and this DOES NOT WORK:
I get the following error on the fileWriter.WritePage(primaryPage); line:
System.InvalidOperationException HResult=0x80131509 Message=FixedExtensibilityManager.JpegImageConverter cannot be null. The .NET Standard does not define APIs for converting images or scaling their quality. In order to export images different than Jpeg and Jpeg2000 or ImageQuality different than High you will need to reference the Telerik.Documents.ImageUtils assembly/NuGet in your project and to set its basic implementation to the FixedExtensibilityManager.JpegImageConverter property or to create a custom one inheriting the JpegImageConverterBase class. For more information go to: https://docs.telerik.com/devtools/document-processing/libraries/radpdfprocessing/cross-platform Source=Telerik.Documents.Fixed StackTrace: at Telerik.Windows.Documents.Fixed.Model.Resources.EncodedImageData.TryCreateFromUnknownImageDataWithScaledQuality(Byte[] data, ImageQuality imageQuality, EncodedImageData& encodedImageData) at Telerik.Windows.Documents.Fixed.Model.Resources.ImageSource.DoOnUnknownData(Byte[] unknownData, ImageQuality imageQuality, Action`1 doOnEncodedData) at Telerik.Windows.Documents.Fixed.Model.Resources.ImageSource.InitializeImageInfoFromUnknownData(Byte[] unknownData, ImageQuality imageQuality) at Telerik.Windows.Documents.Fixed.Model.Resources.ImageSource.EnsureImageInfo() at Telerik.Windows.Documents.Fixed.Model.Resources.ImageSource.get_Width() at Telerik.Windows.Documents.Fixed.Model.Objects.Image.get_Width() at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Export.ContentElementWriters.ImageWriter.WriteOverride(PdfWriter writer, IPdfContentExportContext context, Image element) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Export.ContentElementWriters.MarkableContentElementWriter`1.Write(PdfWriter writer, IPdfContentExportContext context, Object element) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Export.ContentElementWriters.ContentRootWriter.WriteOverride(PdfWriter writer, IPdfContentExportContext context, IContentRootElement element) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Export.ContentElementWriters.ContentElementWriter`1.Write(PdfWriter writer, IPdfContentExportContext context, Object element) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Export.ContentElementWriters.ContentElementWriterBase.WriteElement(PdfWriter writer, IPdfContentExportContext context, Object element) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.DocumentStructure.ContentStream.BuildContentData(IPdfExportContext context, IResourceHolder resourceHolder, IContentRootElement contentRootElement) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.Objects.FormXObject.CopyPropertiesFrom(IPdfExportContext context, IContentRootElement contentRoot, Rect boundingBox) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Streaming.PdfPageStreamWriter.GetXFormReference(RadFixedPage pageRoot) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Streaming.PdfPageStreamWriter.WriteContent(RadFixedPage page) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Streaming.PdfStreamWriter.WritePage(RadFixedPage page) at Gsi.Azure.Blob.Api.Services.StorageFileService.<AppendAsync>d__43.MoveNext() in C:\GSI Cloud\Gsi.Cloud.App\Gsi.Azure.Blob\Gsi.Azure.Blob.Api\Services\StorageFileService.ext.cs:line 717