我们使用 jasper 进行报告。 在浏览器的预览模式下,它适合 A4 页面,但是,当它通过 JRPrintServiceExporter 打印时,它不适合 A4 页面。 我有以下代码: 您可以找到通过浏览器预览打印打印的页面: 但这是通过上面代码中的 JRPrintServiceExporte ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我尝试使用 weasyprint Python 3 API 将“xhtml web 页面”转换为“A4 肖像 pdf”。 这是页面。
但 pdf 文件最后不适合 A4 页面。
这是 python 代码:
#!/usr/bin/python3
from weasyprint import HTML, CSS
import subprocess
Page = HTML(url="https://educadhoc.hachette-livre.fr/extract/complet/9782401058705/show-page/page325.xhtml")
Style = CSS(string='''
@page {
size: A4 portrait;
max-height:100%;
max-width:100%;
}
''')
Page.write_pdf(target="Try.pdf", zoom=1, stylesheets=[Style])
subprocess.Popen(["evince", "Try.pdf"])
即使在 CSS 样式中使用“尺寸 A4 肖像”和在 write_pdf 方法中使用“zoom=1”,它也不适合 A4!
(pdf 文件中也有换行......)
你有什么建议?
是的。 我改变了..,停止使用 Weasyprint 和 go 到硒,更可定制
#!/usr/bin/python3
# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.firefox.service import Service
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
###### SELENIUM PARAMETERS
path_to_binary = "/usr/bin/firefox-esr"
path_to_webdriver = "/usr/local/bin/geckodriver"
capabilities = webdriver.DesiredCapabilities().FIREFOX
my_options = Options()
my_options.headless = True
my_options.add_argument("--width=1426")
my_options.add_argument("--height=2048")
my_options.binary_location = path_to_binary
my_service = Service(path_to_webdriver)
###### GO GO GO !
driver = webdriver.Firefox(service=my_service, options=my_options)
driver.get("https://educadhoc.hachette-livre.fr/extract/complet/9782401058705/show-page/page325.xhtml")
driver.execute_script("document.body.style.transform = 'scale(3)'")
driver.find_element_by_tag_name("body").screenshot("TRY.png")
driver.implicitly_wait(2)
driver.close()
driver.execute_script
行中放置了一个scale(3)
,您可以根据自己的需要进行调整,以便获得 3 倍高的图像尺寸和质量......(但重 3 倍!)/usr/local/bin/geckodriver
)中安装 webdriver(在我的情况下是 firefox),并且您也必须找到二进制路径( /usr/local/bin/firefox-esr
在我的情况下)。 然后,你可以用这个 PNG 文件做你想做的事。 (例如,如果需要,请使用imagemagick
转换为 pdf 等不同格式...)链接到转换
希望它可以帮助您和其他 Python 初学者...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.