Andere Punkte von Interesse: < /p>
Problem tritt auch auf Azure Web App Windows OS. 4.1.1 < /li>
Syncfusion.pdftoimageConverter.net 27.2.5 < /li>
< /ul>
< /li>
Versuchte, TTF-MSCOREFONTS-INTALER auf Azure-Web-Listen zu installieren. /usr/share/fonts/trueType und das hatte keinen Effekt, außer /usr/share/fonts/truetype/arial.ttf Welche
machte fehlende Zeichen, um wieder zu erscheinen. /> Drücken Sie "Original herunterladen", um Original -PDF mit dem gesamten Text herunterzuladen. /> < /li>
< /ol>
Code: < /p>
Code: Select all
using Microsoft.AspNetCore.Mvc;
using PDFtoImage;
using SkiaSharp;
using Syncfusion.Drawing;
using Syncfusion.Licensing;
using Syncfusion.PdfToImageConverter;
using System.Net.Mime;
namespace AngularApp1.Server.Controllers
{
[ApiController]
[Route("[controller]")]
public class PdfController : ControllerBase
{
// PDFtoImage
[HttpPost("pdfToImages")]
public PdfToImagesResult PdfToImages([FromForm] IFormFile file)
{
ArgumentNullException.ThrowIfNull(file);
var images = new List();
string? errorMessage = null;
try
{
var format = SKEncodedImageFormat.Webp;
using (Stream stream = file.OpenReadStream())
{
foreach (SKBitmap bitmap in Conversion.ToImages(stream, true, null, new RenderOptions { Dpi = 220 }))
{
images.Add(new PdfImage() {
Bytes = SKImage.FromBitmap(bitmap).Encode(format, 90).ToArray(),
W = bitmap.Width,
H = bitmap.Height,
MimeType = $"image/{format.ToString().ToLower()}"
});
}
}
}
catch (Exception error)
{
errorMessage = error.ToString();
}
return new PdfToImagesResult() {
Images = images,
ErrorMessage = errorMessage,
};
}
// Syncfusion.PdfToImageConverter.Net
[HttpPost("pdfToImagesSF")]
public PdfToImagesResult PdfToImagesSF([FromForm] IFormFile file)
{
ArgumentNullException.ThrowIfNull(file);
var images = new List();
string? errorMessage = null;
Stream stream = Stream.Null;
try
{
SyncfusionLicenseProvider.RegisterLicense("your licence");
stream = file.OpenReadStream();
var imageConverter = new PdfToImageConverter(stream);
imageConverter.ScaleFactor = 1.5f;
SizeF imageSize = new SizeF(1819f, 2573f);
foreach (Stream imageStream in imageConverter.Convert(0, imageConverter.PageCount - 1, imageSize, true, true, true))
{
imageStream.Position = 0;
images.Add(new PdfImage() {
Bytes = BinaryData.FromStream(imageStream).ToArray(),
W = (int)imageSize.Width,
H = (int)imageSize.Height,
MimeType = MediaTypeNames.Image.Jpeg
});
}
}
catch (Exception error)
{
errorMessage = error.ToString();
}
finally
{
stream.Close();
}
return new PdfToImagesResult() {
Images = images,
ErrorMessage = errorMessage,
};
}
public class PdfToImagesResult
{
public List? Images { get; set; }
public string? ErrorMessage { get; set; }
}
public class PdfImage
{
public byte[]? Bytes { get; set; }
public int? W { get; set; }
public int? H { get; set; }
public string? MimeType { get; set; }
}
}
}