Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.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
使用JavaScript将客户端生成的PDF发送到Django服务器_Javascript_Python_Html_Django_Pdf - Fatal编程技术网

使用JavaScript将客户端生成的PDF发送到Django服务器

使用JavaScript将客户端生成的PDF发送到Django服务器,javascript,python,html,django,pdf,Javascript,Python,Html,Django,Pdf,我有一个带有引导样式的HTML网页,客户端可以下载PDF格式的网页。对于PDF生成,我使用的是window.print()。在后端或服务器端,我有Django 现在,我正在尝试将HTML页面转换为文档文件。我已经找到了一种在后端这样做的方法。但是输入文件应该是PDF 因此,我需要从客户端向服务器发送PDF。客户端,因为需要使用window.print()生成PDF。PDF只能使用window.print()生成。但是,“据我所知,window.print()无法在客户端自动隐藏。客户端与“打印”

我有一个带有引导样式的HTML网页,客户端可以下载PDF格式的网页。对于PDF生成,我使用的是
window.print()
。在后端或服务器端,我有Django

现在,我正在尝试将HTML页面转换为文档文件。我已经找到了一种在后端这样做的方法。但是输入文件应该是PDF

因此,我需要从客户端向服务器发送PDF。客户端,因为需要使用
window.print()
生成PDF。PDF只能使用
window.print()
生成。但是,“据我所知,
window.print()
无法在客户端自动隐藏。客户端与“打印”对话框交互

工作流程应如下所示-

  • 客户点击一个按钮
  • 使用
    window.print()
    自动生成PDF
  • 生成的PDF将发送到Django服务器
  • 请帮我做这个

    多谢各位

    这是生成PDF的代码

    let response = ``; // Web Page HTML
    let printSettings = `
                p {
                    font-size: 20px !important;
                }
    
                @media print {
                    @page {
                        size: A4;
                    }
                }
            `;
    let printWindow = window.open("", "_blank");
    printWindow.document.open();
    printWindow.document.write(`<html><head><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6" crossorigin="anonymous" media="all"><style>${printSettings}</style></head>${response}</html>`);
    printWindow.document.close();                    
    printWindow.print(); // Print window
    
    // Automatically close new window after printing
    printWindow.onafterprint = () => {
        printWindow.close();
    }
    
    let response=``;//网页HTML
    让打印设置=`
    p{
    字体大小:20px!重要;
    }
    @媒体印刷品{
    @页面{
    尺寸:A4;
    }
    }
    `;
    让printWindow=window.open(“,”_blank”);
    printWindow.document.open();
    printWindow.document.write(`${printSettings}${response}`);
    printWindow.document.close();
    printWindow.print();//打印窗口
    //打印后自动关闭新窗口
    printWindow.onafterprint=()=>{
    printWindow.close();
    }
    
    不幸的是,一旦您从Javascript发送要打印的内容,它就超出了您的控制范围。你把它寄给PDFPrinter的事实是你得不到的。您可以从Javascript发送PDF,但也需要在Javascript中创建PDF。类似这样的内容可能会有所帮助->有没有办法在后端实现自动化?例如,使用像Selenium这样的web驱动程序?是的,您也可以这样做。我知道pupperteer很容易创建一个PDF格式的网页,所以我假设Selenium也有相同的功能..好的。谢谢你的建议。我要和木偶师一起试试。