1

我在我的本地系统和 ec2 服务器上使用 pdfkit python 0.6.1 和 wkhtmltopdf 0.12.4 问题是一切都在本地系统上按预期运行,但在 aws css 样式上发生了变化

这是模板代码

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Pdf Generate html</title>
    <style>
     @font-face {
      font-family: 'BoldFont';
      src: url('http://127.0.0.1:8000/static/fonts/Champagne & Limousines Bold.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5, Opera 10+, Safari 3—5 */
    }
    </style>
</head>
<body style="text-align:center ;font-family: 'BoldFont' ;line-height:30.5pt;position:absolute;  margin:80px 72px; letter-spacing:0.275em;line-height: 1.7;  text-transform: uppercase;">

<div id="svg_view" style="border: 7px solid #000; ">
    <img src="http://127.0.0.1:8000/static/images/svg_img/test.svg" style="padding:75px">

        <div class="product-des" id="product-header" style="font-size: 22.5pt;letter-spacing:0.281em; margin-top:-8px;">UNDER THESE STARS YOU WERE BORN<br>
            LOVE YOU TO THE MOON AND BEYOND</div>
    <div class="name" id="user_name" style=" font-size: 19.8pt; margin:115px 0px 134px 0">{{username}}</div>
    <div class="product-des" id="product-des" style=" font-size: 15pt;margin-bottom:50px;letter-spacing:0.22em">
        THE SKIES ABOVE Hadera, Israel<br> {{mth}} {{day}}th, {{year}} AT {{hrs}}:{{min}} AM<br> {{lat}}˚ N <span style="margin-left:18px">{{long}}˚ E</span>
    </div>
</div>

</body>
</html>

这是python代码

 template_name = "site/pdf_generate.html"

    def get(self, request):
        options = {
            'page-size': 'A3',
            'margin-top': '0',
            'margin-right': '0',
            'margin-bottom': '0',
            'margin-left': '0',
            'dpi': 300
        }
        context = {
            'username':request.session.get("myname"),
            'lat': request.session.get("lat"),
            'long': request.session.get("long"),
            'msg': request.session.get("msg"),
            'mth': request.session.get("mth"),
            'day': request.session.get("day"),
            'year': request.session.get("year"),
            'hrs': request.session.get("hrs"),
            'min': request.session.get("min"),

        }

        file_path = os.path.join(settings.STATIC_DIR, "pdf", 'dpi_test123.pdf')
        svg_path = os.path.join(settings.STATIC_DIR,"images/svg_img/d3-celestial.svg")

        template = loader.get_template(self.template_name)
        html_string = template.render(context=context, request=request)
        try:
            pdfkit.from_string(html_string, file_path,options=options)
        except:
            print("Error found")
        if os.path.exists(file_path):
            response = FileResponse(open(file_path, 'rb'), content_type='application/force-download')
            return response
        return HttpResponse("Something went wrong")

本地系统符合预期 在此处输入图像描述

Aws ec2 不能正常工作 在此处输入图像描述

4

0 回答 0