NReco imagegenerator无法正确写入条形码

时间:2017-10-24 13:10:58

标签: html css asp.net twitter-bootstrap nreco

我正在尝试将HTML代码转换为JPEG图像。它有点工作,但当我尝试使用条形码时却没有。

服务器端,我正在使用:

我正在使用CODE128协议对EAN133条形码进行编码,当我想在网页上显示它时它会起作用(我使用HttpUtility.HtmlEncode(code_barre)以便条形码被很好地解释),然后我使用条形码字体显示条形码,这就是我的图像出错的地方:

enter image description here

正如您所看到的,这是一个良好格式的条形码“纯文本”,并带有以下CSS:

@font-face { font-family: 'code_128regular'; src: url('/Assets/Fonts/code128-webfont.eot'); src: url('/Assets/Fonts/code128-webfont.eot?#iefix') format('embedded-opentype'), url('/Assets/Fonts/code128-webfont.woff2') format('woff2'), url('code128-webfont.woff') format('woff'), url('/Assets/Fonts/code128-webfont.ttf') format('truetype'), url('/Assets/Fonts/code128-webfont.svg#code_128regular') format('svg'); font-weight: normal; font-style: normal;} .test{font-family:'code_128regular'; font-size:70px;}

我应该成为这个:

enter image description here

但它没有,即使我用相对路径导入Bootstrap CSS,而当我尝试使用IronPDF

生成PDF时,它也可以工作

感谢关注

编辑:这是生成的HTML:

<html>
<head>
    <meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />
    <link rel='stylesheet' type='text/css' href='Assets/Bootstrap/css/bootstrap.min.css'>
    <script type='text/javascript' src='Assets/Bootstrap/js/bootstrap.min.js'></script>
</head>
<style>
    @font-face {
        font-family: 'code_128regular';
        src: url('/Assets/Fonts/code128-webfont.eot');
        src: url('/Assets/Fonts/code128-webfont.eot?#iefix') format('embedded-opentype'), url('/Assets/Fonts/code128-webfont.woff2') format('woff2'), url('code128-webfont.woff') format('woff'), url('/Assets/Fonts/code128-webfont.ttf') format('truetype'), url('/Assets/Fonts/code128-webfont.svg#code_128regular') format('svg');
        font-weight: normal;
        font-style: normal;
    }

    .test {
        font-family: 'code_128regular';
        font-size: 70px;
    }
</style>
<center><p class='test'>&#204;MXCUTGRIP305-07D&#206;</p><p>MXCUTGRIP305-07</p></center>
</html>

1 个答案:

答案 0 :(得分:1)

NReco ImageGenerator内部使用wkhtmltoimage命令行工具,所以实际上你可以期待相同的行为。在你的情况下,似乎你的自定义字体由于某种原因被wkhtmltoimage忽略;首先尝试使用woff,woff2或ttf字体文件而不是eot。如果您使用&#34; GenerateImage&#34;接受HTML作为.NET字符串的方法所有外部引用都应该是绝对的。

以下HTML模板适用于我(我已使用&#34; Libre条码128&#34;来自Google字体):

<html>
<head>
    <meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />
    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Libre+Barcode+128&amp;lang=en" />  
</head>
<style>
    .test {
        font-family: 'Libre Barcode 128';
        font-size: 70px;
    }
</style>
<center><p class='test'>&#204;MXCUTGRIP305-07D&#206;</p><p>MXCUTGRIP305-07</p></center>
</html>