Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net core 在.net核心项目中生成PDF时出现褪色图像_.net Core_Wkhtmltopdf_Pdf Conversion - Fatal编程技术网

.net core 在.net核心项目中生成PDF时出现褪色图像

.net core 在.net核心项目中生成PDF时出现褪色图像,.net-core,wkhtmltopdf,pdf-conversion,.net Core,Wkhtmltopdf,Pdf Conversion,我有一个.net核心项目,我正在通过将HTML模板字符串保存到PDF中。在我成功生成PDF文件的同时,我看到图像周围出现了一些奇怪的行为,这些图像看起来已经褪色/褪色 请注意,生成的HTML本身没有这个问题 下面的两个链接显示了图像应该如何显示(以及在HTML模板中如何显示)以及它们在PDF中的显示方式 有趣的是,生成的PDF中的第一个图像没有出现此问题(未显示)。我将此图像与其他“褪色”图像进行了比较,主要区别在于它们的DPI(72dpi与96dpi),因为测试中我将其中一个褪色图像更

我有一个.net核心项目,我正在通过将HTML模板字符串保存到PDF中。在我成功生成PDF文件的同时,我看到图像周围出现了一些奇怪的行为,这些图像看起来已经褪色/褪色

请注意,生成的HTML本身没有这个问题

下面的两个链接显示了图像应该如何显示(以及在HTML模板中如何显示)以及它们在PDF中的显示方式

有趣的是,生成的PDF中的第一个图像没有出现此问题(未显示)。我将此图像与其他“褪色”图像进行了比较,主要区别在于它们的DPI(72dpi与96dpi),因为测试中我将其中一个褪色图像更新为相同的DPI,但问题仍然存在

以下是我的PDF生成代码:

    /// <summary>
    /// Generates the specified HTML content into a PDF byte array.
    /// </summary>
    /// <param name="htmlContent">Content of the HTML.</param>
    /// <param name="documentTitle">The document title.</param>
    /// <returns>Byte array of the generated PDF contents.</returns>
    public static byte[] Generate(string htmlContent, string documentTitle)
    {
        var converter = new BasicConverter(new PdfTools());

        var document = new HtmlToPdfDocument
        {
            GlobalSettings
                =
                    {
                        ColorMode = ColorMode.Color,
                        Orientation = Orientation.Portrait,
                        PaperSize = PaperKind.A3,
                        DocumentTitle = documentTitle
                    },
            Objects =
                {
                    new ObjectSettings
                        {
                            PagesCount = true,
                            HtmlContent = htmlContent,
                            WebSettings =
                                {
                                    DefaultEncoding = "utf-8"
                                }
                        }
                }
        };

        // Return the PDF content in a byte array.
        return converter.Convert(document);
    }
//
///将指定的HTML内容生成为PDF字节数组。
/// 
///HTML的内容。
///文档标题。
///生成的PDF内容的字节数组。
公共静态字节[]生成(字符串htmlContent,字符串documentTitle)
{
var converter=新的基本转换器(新的PdfTools());
var document=新的HtmlToPdfDocument
{
全球设置
=
{
ColorMode=ColorMode.Color,
方向=方向。纵向,
PaperSize=PaperKind.A3,
DocumentTitle=DocumentTitle
},
物体=
{
新对象设置
{
PageScont=true,
HtmlContent=HtmlContent,
腹板设置=
{
DefaultEncoding=“utf-8”
}
}
}
};
//返回字节数组中的PDF内容。
返回转换器。转换(文档);
}
以及HTML代码:


页面标题
身体{
左边距:10px;
边缘顶部:30px;
}
#内容{
宽度:100%;
边距:0自动0自动;
}
h1{
浮动:对;
文本转换:大写;
空白:nowrap;
}
氢{
颜色:#1E86B1;
字号:x大号;
}
省略号{
溢出:隐藏;
文本溢出:省略号;
宽度:500px;
}
a{
颜色:#1E86B1;
字体大小:粗体;
}
a:悬停{
颜色:#1E86B1;
}
.thead逆th{
背景色:#1E86B1;
}
运输署{
文本对齐:右对齐;
}
.集装箱{
明确:两者皆有;
}
.标志{
宽度:100px;
}
.截图{
边框:实心1px#ccc;
浮动:对;
}
.介绍{
页边距底部:0;
边缘顶部:30px;
}
.简介a{
颜色:#fff;
字体大小:粗体;
}
.简介h2{
字号:x大号;
保证金:0;
填充:0 15px 0;
}
.合成卡p:最后一种类型{
边缘底部:30px;
}
.卡片{
文本对齐:居中;
宽度:100%;
}
.卡片{
显示:内联块;
浮动:左;
利润率:0.06px 6px;
文本对齐:左对齐;
宽度:49%;
}
.卡体h2{
边框底部:实心1px#000;
颜色:#000;
字号:4rem;
字号:700;
保证金:0;
边缘底部:6px;
垫底:6px;
}
.卡片:第n个孩子(3n){
右边距:0;
}
.卡img top{
边框底部:1px实心rgba(0,0,0,125);
}
.夹子{
背景剪辑:内容框;
显示:表格;
左边距:0;
溢出:隐藏;
右边填充:0;
填充顶部:95px;
位置:相对位置;
}
.clip>div>p{
颜色:#fff;
字体大小:大号;
保证金:0;
宽度:95%;
}
.clip>div{
显示:表格单元格;
垂直对齐:中间对齐;
}
.clip>div:第一个孩子{
背景色:#42BCE2;
边框:实心1px#42E0E2;
边界权:无;
边框左下半径:15px;
边框左上半径:15px;
填充:30px 0 30px 30px;
}
.截图{
边框:实心1px#eee;
填充:0;
}
.成分h3{
颜色:#fff;
字体大小:大号;
文本转换:大写;
}
.作文.行.列{
背景色:#42BCE2;
边框:实心1px#42E0E2;
边界半径:15px;
保证金:5px;
填充:20px;
}
.分隔器,
.无分隔器{
边框底部:实心1px#eee;
填充:30px 0 30px 0;
}
.分隔器:类型的最后一个,
.无分隔器{
边框底部:无;
边缘底部:10px;
}
.分隔符:类型的最后一个>分隔符>分隔符{
颜色:#666;
文本对齐:居中;
}
.分隔器:类型>分区>分区a的最后一个{
字体大小:正常;
}
卡片标题

内容在这里。。。

卡片标题

内容在这里。。。

卡片标题

内容在这里。。。

卡片标题