“Syncfusion.Pdf.PdfException:'/root/.nuget 处缺少 Blink 文件”docker-compose 中的syncfusion HtmlToPdf 转换器出现错误

问题描述 投票:0回答:3

我有一个.net项目,它在docker-compose中运行。

因此我将

Syncfusion.HtmlToPdfConverter.Net.Linux
用于 .net core 应用程序。

using Microsoft.AspNetCore.Mvc;
using Syncfusion.HtmlConverter;
using Syncfusion.Pdf;
using System;
using System.IO;

namespace Catalog.Api.Controllers.V5
{
    [ApiController]
    [Route("v5/pdf-generate")]
    public class PdfGenerateController : Controller
    {
        public PdfGenerateController(){}

        [HttpGet]
        public IActionResult UrlToPdf()
        {
                //Initialize HTML to PDF converter.
                HtmlToPdfConverter htmlConverter = new HtmlToPdfConverter();

                //Convert URL to PDF document.
                PdfDocument document = htmlConverter.Convert("https://www.google.com");

                //Create memory stream.
                MemoryStream stream = new MemoryStream();

                //Save and close the document.
                document.Save(stream);
                document.Close(true);

                return File(stream.ToArray(), System.Net.Mime.MediaTypeNames.Application.Pdf, "HTML-to-PDF.pdf");          
        }
    }
}

这是我的控制器。

我运行此控制器并收到错误。


Syncfusion.Pdf.PdfException: 'Blink files are missing at /root/.nuget/packages/syncfusion.htmltopdfconverter.net.linux/21.2.9/lib/netstandard2.0/runtimes/linux/native'

请有人帮助我吗?

.net asp.net-core docker-compose syncfusion html-to-pdf
3个回答
0
投票

我们已检查了我们这边报告的问题,但它运行正常。因此我们附上了示例供您参考。请尝试一下您的样品并让我们知道结果

示例:https://www.syncfusion.com/downloads/support/directtrac/general/ze/WebAPIDockerTest-500059707

进一步分析,如果设置了运行时标识符,请将其删除并尝试转换,或者将应用程序文件夹设置为闪烁路径,然后执行转换。

请找到以下链接

https://help.syncfusion.com/cr/file-formats/Syncfusion.HtmlConverter.BlinkConverterSettings.html#Syncfusion_HtmlConverter_BlinkConverterSettings_BlinkPath

我们已经发现并修复了此问题,并将在 2023 年第 2 卷版本中提供。


0
投票

我们已在最新的第 2 卷版本 (v22.1.34) 中修复了此问题“将 html 转换为 pdf 时发生闪烁文件丢失异常”修复。

请使用以下链接下载我们最新的 NuGet,

https://www.nuget.org/packages/Syncfusion.HtmlToPdfConverter.Net.Linux/22.1.34

我们很高兴地宣布,我们的 Essential Studio 2023 第 1 卷服务包版本 v21.2.3 已推出,可通过以下链接下载。

Essential Studio 2023 第 2 卷主版本 v22.1.34 可供下载 |公告 论坛 |同步融合

我们感谢您的支持,并感谢您耐心等待此版本。如果您需要任何进一步的帮助,请与我们联系。


0
投票

我遇到了同样的问题,在 Dockerfile 上添加以下内容后:

RUN apt-get update && \
apt-get install -yq --no-install-recommends \ 
libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 \ 
libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 \ 
libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 \ 
libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 \ 
libnss3 libgbm1

并添加上面示例源代码中给出的 BlinkConverterSettings:

BlinkConverterSettings settings = new BlinkConverterSettings();
                settings.CommandLineArguments.Add("--no-sandbox");
                settings.CommandLineArguments.Add("--disable-setuid-sandbox");
                //Convert URL to PDF document.
                htmlConverter.ConverterSettings = settings;

效果非常好。

© www.soinside.com 2019 - 2024. All rights reserved.