Nginx เชฐเซ‡เชธเชฟเชชเชฟ: HTML เชฅเซ€ PDF เชฐเซ‚เชชเชพเช‚เชคเชฐ

HTML เชฅเซ€ PDF เชฎเชพเช‚ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฃ เชคเซˆเชฏเชพเชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเชจเซ‡ เชœเชฐเซ‚เชฐ เช›เซ‡ nginx เช…เชจเซ‡ เชคเซ‡เชจเซเช‚ เชชเซเชฒเช—เช‡เชจ html2pdf. (เชฎเซ‡เช‚ เชฎเชพเชฐเชพ nginx เชซเซ‹เชฐเซเช•เชจเซ€ เชฒเชฟเช‚เช•เซเชธ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ€ เช›เซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เชฎเซ‡เช‚ เช•เซ‡เชŸเชฒเชพเช• เชซเซ‡เชฐเชซเชพเชฐเซ‹ เช•เชฐเซเชฏเชพ เช›เซ‡ เชœเซ‡ เชนเชœเซ เชธเซเชงเซ€ เชฎเซ‚เชณ เชญเช‚เชกเชพเชฐเชฎเชพเช‚ เชงเช•เซ‡เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชจเชฅเซ€. เชคเชฎเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชชเชฃ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชคเซˆเชฏเชพเชฐ.)

เชซเชพเช‡เชฒเชฎเชพเช‚เชฅเซ€ HTML เชจเซ‡ PDF เชฎเชพเช‚ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเชตเชพ

location =/html_to_pdf_from_file {
    html2pdf on; # ะฒะบะปัŽั‡ะฐะตะผ pdf-ั„ะธะปัŒั‚ั€
}

เชŸเซ‡เช•เซเชธเซเชŸเชฎเชพเช‚เชฅเซ€ HTML เชจเซ‡ PDF เชฎเชพเช‚ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเชตเชพ

location =/html_to_pdf_from_text {
    html2pdf on; # ะฒะบะปัŽั‡ะฐะตะผ pdf-ั„ะธะปัŒั‚ั€
    return 200 "<p style="background-color: #c11">ะ—ะดั€ะฐะฒัั‚ะฒัƒะน, ะผะธั€!</p>"; # ะฒะพะทะฒั€ะฐั‰ะฐะตะผ HTML
}

เชชเซเชฐเซ‹เช•เซเชธเซ€เชฎเชพเช‚เชฅเซ€ HTML เชจเซ‡ PDF เชฎเชพเช‚ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเชตเชพ

location =/html_to_pdf_from_proxy {
    html2pdf on; # ะฒะบะปัŽั‡ะฐะตะผ pdf-ั„ะธะปัŒั‚ั€
    proxy_pass somewhing_that_returns_html; # ะฟะตั€ะตะฝะฐะฟั€ะฐะฒะปัะตะผ ะฝะฐ ั‚ัƒะดะฐ, ะณะดัƒ ะฒะพะทะฒั€ะฐั‰ะฐะตั‚ัั HTML
}

เชชเชฐเชฟเชฃเชพเชฎเซ‡, เช† เชธเซเชฅเชพเชจเซ‹เชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, HTML เชจเซ‡ เชฌเชฆเชฒเซ‡, เชคเซ‡เชจเชพ เช†เชงเชพเชฐเซ‡ เชฌเชจเชพเชตเซ‡เชฒ PDF เชชเชฐเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ (เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ wt เชฅเซ€ เชœเชจเชฐเซ‡เชŸเชฐ).

เช†, เช…เชฒเชฌเชคเซเชค, เชถเซเชฐเซ‡เชทเซเช  เชœเชจเชฐเซ‡เชŸเชฐ เชจเชฅเซ€, เชฎเซ‡เช‚ เชคเซ‡ เชชเชนเซ‡เชฒเชพเช‚ เชฅเซ‹เชกเชพ เชตเชงเซ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซเชฏเชพ, เชชเชฐเช‚เชคเซ เชคเซ‡เชฎเชพเช‚ เชญเซ‚เชฒเซ‹ เชฎเชณเซ€ htmldoc ะธ wkhtmltopdf.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹