使用JavaScript将客户端生成的PDF发送到Django服务器
我有一个带有引导样式的HTML网页,客户端可以下载PDF格式的网页。对于PDF生成,我使用的是使用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()无法在客户端自动隐藏。客户端与“打印”
window.print()
。在后端或服务器端,我有Django
现在,我正在尝试将HTML页面转换为文档文件。我已经找到了一种在后端这样做的方法。但是输入文件应该是PDF
因此,我需要从客户端向服务器发送PDF。客户端,因为需要使用window.print()
生成PDF。PDF只能使用window.print()
生成。但是,“据我所知,window.print()
无法在客户端自动隐藏。客户端与“打印”对话框交互
工作流程应如下所示-
window.print()
自动生成PDFlet 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也有相同的功能..好的。谢谢你的建议。我要和木偶师一起试试。