Агуулгын хүснэгт бүхий онлайн вэбээс pdf руу хөрвүүлэгч. Вэб хуудсыг хэрхэн хялбархан PDF болгон хувиргах вэ? Тусгай тусламжтайгаар

Гэр / Технологи
  • Java,
  • PDF
    • Заавар

    Java төв дээр ажиллах талаар бараг мэдээлэл байхгүй байгаа нь миний хувьд гэнэтийн зүйл байлаа PDF баримтТиймээс бид хувийн туршлагаасаа дурын вэб хуудсыг хэрхэн амархан PDF баримт болгон хувиргаж болохыг харуулахын тулд сервлетийн жишээг ашиглахыг хүсч байна.

    Оршил:
    Бидний зааж өгсөн вэб хуудсыг HTTP протоколоор авч, түүн дээр үндэслэн бүрэн хэмжээний PDF баримт үүсгэх энгийн сервлет бичье.
    Ашигласан номын сангууд:
    • Flying Saucer PDF бол HTML/CSS-ээс PDF баримт үүсгэхэд туслах гол номын сан юм
    • iText бол дээр дурдсан номын санд багтсан номын сан боловч би үүнийг номын сангийн жагсаалтад оруулахгүй байж чадсангүй, учир нь... Энэ үндсэн дээр PDF баримт бичиг бий болно
    • HTML Cleaner - бидний HTML кодыг цэвэрлэх номын сан

    Maven тохиргоонд зориулсан номын сангийн тайлбар (pom.xml)

    org.xhtmlrenderer нисдэг таваг-pdf 9.0.4 net.sourceforge.htmlcleaner htmlцэвэрлэгч 2.6.1

    Хуудас үүсгэх:
    Хамгийн нэг нь чухал цэгүүдхуудас үүсэх явдал юм. Ирээдүйн PDF баримт бичгийн параметрүүдийг CSS ашиглан хуудаснаас өөрөө тохируулсан нь баримт юм.

    Зохион байгуулалтыг харцгаая:

    хуудас.jsp

    <%@ page import="java.util.Date" %> <%@ page import="java.text.SimpleDateFormat" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%! private SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); %> Жишээ

    Сайн уу, Хабр! Одоогийн цаг:<%=sdf.format(new Date())%>
    Шинэ хуудас!


    Энд би хэд хэдэн зүйлийг онцлон тэмдэглэхийг хүсч байна. Эхлээд хийх зүйлс: бүх замууд үнэмлэхүй байх ёстой! Зураг, хэв маяг, үсгийн хаяг гэх мэт бүх зүйлд үнэмлэхүй замыг зааж өгөх ёстой. Одоо CSS дүрмүүдийг (@ тэмдэгтээс эхэлдэг) авч үзье.
    @фонт нүүр- энэ бол манай PDF үүсгэгч ямар фонт, хаанаас авахыг зааж өгөх дүрэм юм. Асуудал нь PDF баримтыг үүсгэх номын санд кирилл үсэг орсон фонт байхгүй байна. Тийм учраас ийм байдлаар тодорхойлох шаардлагатай болно БҮГДХэдийгээр таны хуудсанд ашиглагдаж байгаа фонтууд стандарт фонтууд: Arial, Verdana, Tahoma гэх мэт., in өөрөөрТа бичиг баримт дээрээ кирилл үсгийг харахгүй байх эрсдэлтэй.
    "-fs-pdf-font-embed: embed;" гэх мэт шинж чанаруудад анхаарлаа хандуулаарай. болон "-fs-pdf-фонт-кодлох: Identity-H;", эдгээр шинж чанарууд зайлшгүй шаардлагатай тул тэдгээрийг нэмэхээ бүү мартаарай.
    @хуудас- энэ бол PDF баримт бичгийн догол мөр, хэмжээ зэргийг тохируулдаг дүрэм юм. Хэрэв та A3 хуудасны хэмжээг зааж өгвөл (мөн практикээс харахад хуудас нь баримт бичигт өргөнтэй тохирохгүй тул энэ нь ихэвчлэн шаардлагатай байдаг) энэ нь хэрэглэгч хуудасны хэмжээг хэвлэх шаардлагатай гэсэн үг биш гэдгийг энд тэмдэглэхийг хүсч байна. Баримт бичгийг (хэрэв хүсвэл) А3 форматаар, харин зүгээр л бүх контентыг хүссэн хэмжээгээрээ (ихэвчлэн А4) пропорциональ хэмжээгээр багасгаж/нэмэгдүүлнэ. Тэдгээр. үл хөдлөх хөрөнгийн үнэ цэнийг харна уу хэмжэээргэлзэж байгаа ч энэ нь таны хувьд гол үүрэг гүйцэтгэж чадна гэдгийг мэдэж аваарай.
    @media- тодорхой төрлийн төхөөрөмжид CSS анги үүсгэх боломжийг олгодог дүрэм, манай тохиолдолд энэ нь "хэвлэх" юм. Энэ дүрмийн хүрээнд бид анги үүсгэсэн бөгөөд үүний дараа манай PDF баримт үүсгэгч шинэ хуудас үүсгэх болно.
    Сервлет:
    Одоо үүсгэсэн PDF баримтыг бидэнд буцааж өгөх сервлет бичье:

    PdfServlet.java

    ru.habrahabr.web_to_pdf.servlets багц; org.htmlcleaner.CleanerProperties импортлох; org.htmlcleaner.HtmlCleaner импортлох; import org.htmlcleaner.PrettyXmlSerializer; import org.htmlcleaner.TagNode; org.xhtmlrenderer.pdf.ITextRenderer импортлох; javax.servlet.ServletException импортлох; javax.servlet.http.HttpServlet импортлох; javax.servlet.http.HttpServletRequest импортлох; javax.servlet.http.HttpServletResponse импортлох; java.io.* импортлох; java.net.HttpURLConnection импортлох; java.net.URL импортлох; java.net.URLConnection импортлох; /** * Огноо: 2014.03.31 * Цаг: 9:33 * * @ Зохиогч Руслан Молчанов ( [имэйлээр хамгаалагдсан]) */ public class PdfServlet нь HttpServlet-г өргөтгөдөг (хувийн статик эцсийн мөр PAGE_TO_PARSE = "http://localhost:8080/page.jsp"; хувийн статик эцсийн мөр CHARSET = "UTF-8"; @Хамгаалагдсан хүчингүй үйлчилгээг хүчингүй болгох(HttpServletq,Request) HttpServletResponse resp) нь ServletException, IOException-ийг шиддэг ( оролдох ( resp.setContentType("application/pdf"); байт pdfDoc = performPdfDocument(PAGE_TO_PARSE); resp.setContentLength(pdfDoc.length(pdfDoc.length).Oputsp.Get); catch (Exception ex) ( resp.setContentType("text/html"); PrintWriter out = resp.getWriter(); out.write(" Ямар нэг зүйл буруу байна

    "); ex.printStackTrace(out); ex.printStackTrace(); ) ) /** * PDF баримтыг бэлтгэх арга. * Хуудасны @param замын зам * @return PDF баримт * @throws Үл хамаарах зүйл */ хувийн байт performPdfDocument( Мөрний зам) Exception шиднэ ( // Хуудасны HTML кодыг авах String html = getHtml(path); // форматлагдсан HTML кодыг агуулсан буфер ByteArrayOutputStream out = new ByteArrayOutputStream(); // HTML форматлахкод /* энэ процедур нь сонголттой, гэхдээ би энэ блокыг ашиглахыг зөвлөж байна */ HtmlCleaner цэвэрлэгч = new HtmlCleaner();


    Дашрамд хэлэхэд, эдгээр зорилгоор сервлет бичих шаардлагагүй, та энэ сервлетийн логикийг PDF баримтыг файлд хадгалах консол програм руу шилжүүлж болно. Сервлет дотор тохируулах, өөрчлөх, нэмэх гэх мэт зүйл байхгүй гэдгийг та анзаарсан байх. (хуудас руу орох зам, магадгүй кодчилолоос бусад тохиолдолд) PDF баримтыг бэлтгэх бүх ажил нь маш энгийн бөгөөд зөвхөн үзэмжээр явагддаг.

    Эцэст нь та иймэрхүү харагдах PDF баримт бичигтэй болох ёстой.

    Бүгдэд нь сайхан амраарай!

    Хөтөч бүрт дуртай хуудсуудынхаа хавчуургыг хурдан үүсгэх боломжтой байдаг ч заримдаа хүссэн вэб хуудсыг PDF хэлбэрээр хадгалах шаардлагатай болдог. (зөвхөн энэ хуудсыг цаг хугацааны явцад сайтаас устгах эсвэл засах боломжтой бол) ...

    Нэмж дурдахад PDF форматын мэдээллийг хялбархан унших боломжтой янз бүрийн төхөөрөмжүүд(үүнийг үл хамаарах бүх уншигчид дэмждэг), Word дээр засварлаж, бусад хэрэглэгчид шилжүүлэх боломжтой. Мөн хуудас өөрөө цаг хугацааны явцад зэврэхгүй, формат, дизайн өөрчлөгдөхгүй. Ерөнхийдөө ашигтай, шаардлагатай зүйл!

    Энэ нийтлэлд би үүнийг хурдан бөгөөд хялбар хийх хэд хэдэн аргыг авч үзэх болно. Ер нь ажилдаа орцгооё...

    Хөтөч хэвлэх аргыг ашиглах

    1) Танд ямар ч хөтөч байгаа (Chrome, Opera, Edge, Firefox гэх мэт) товчлуурын хослолыг дар Ctrl+P(энэ хослол нь хуудсыг хэвлэх гэсэн үг юм). Энэ функцийг хөтчийн цэсэнд бас ашиглах боломжтой.

    2) Дараа нь өгөгдмөл хэвлэгчийг "PDF болгон хадгалах" эсвэл "Microsoft-оос PDF болгон хэвлэх" болгож өөрчилнө үү (таны хөтөч болон үйлдлийн системээс хамаарч өөр өөр сонголтууд байж болно: хоёулаа эсвэл зөвхөн нэг нь). Доорх хэд хэдэн дэлгэцийн агшинг үзнэ үү.

    3) Одоо үндсэн тохиргоог тохируулна уу: хадгалах хуудасны тоо, хуудасны байршил, захын зай, өнгө, толгой ба доод хэсэг гэх мэт. Дараа нь "Хэвлэх" товчийг дарна уу.

    Үнэндээ энэ даалгавар дууссан. Одоо гарсан PDF файлыг Word, Adobe PDF Reader болон энэ форматыг дэмждэг олон зуун программ дээр нээх боломжтой.

    Тусгай тусламжтайгаар өргөтгөлүүд

    Ихэнх алдартай хөтчүүдийн хувьд дуртай хуудсаа дараах байдлаар хадгалах боломжийг олгодог олон төрлийн нэмэлт, өргөтгөлүүд байдаг. үүл хадгалах, мөн хатуу диск дээрх PDF файлууд руу оруулна.

    Би нэг маш сонирхолтой нэмэлтийг онцлон тэмдэглэхийг хүсч байна - PDF MAGE.

    PDF Mage

    Firefox, Opera, Chrome-д зориулсан жижиг нэмэлт нь вэб хуудсыг бүхэлд нь хатуу дискэндээ 1 товшилтоор хадгалах боломжийг олгодог!

    PDF Mage дүрс дээр дарсны дараа одоогийн хуудсыг PDF форматаар таны татаж авах хавтсанд татаж авах болно гэдгийг би анхаарна уу. Үүнээс илүү тохиромжтой зүйлийг төсөөлөхийн аргагүй юм ...

    Би танд жишээгээр харуулах болно.

    Өргөтгөлийг суулгасны дараа цэсэнд жижиг дүрс гарч ирнэ. Сонирхолтой хуудсыг олсны дараа хулганы зүүн товчийг дарна уу.

    Хэсэг хугацааны дараа хөтөч өөрөө автоматаар PDF файлыг татаж эхэлнэ. Үнэндээ бүх зүйл шаардлагагүй хөдөлгөөнгүйгээр хурдан бөгөөд тохь тухтай хийгддэг!

    Онлайн үйлчилгээг ашиглах

    Мөн интернетэд байгаа дурын хуудсыг PDF хэлбэрээр хурдан хадгалах боломжийг олгодог олон интернет үйлчилгээ байдаг. Ажлын мөн чанар нь ойролцоогоор дараах байдалтай байна: та тусгай зүйлд оруулна. Хадгалах шаардлагатай хуудасны URL-г оруулна уу.

    Дараа нь PDF файл үүсгэхийн тулд товчлуур дээр дарна уу. Хэсэг хугацааны дараа та PDF-ээ татаж авах холбоосыг хүлээн авна. Мэдээжийн хэрэг та үүнийг ашиглаж болно, гэхдээ миний даруухан бодлоор энэ бүхэн уйтгартай бөгөөд түр зуур ашиглахад тохиромжтой. Жишээлбэл, танд хөтөч эсвэл Windows-тэй холбоотой "асуудал" байгаа тул өмнөх аргуудыг ашиглан хадгалахыг хүсэхгүй байгаа "хачин" хуудастай танилцсан.

    Иймээс энэ төрлийн үйлчилгээнүүдээс хамгийн алдартай нь:

    1. - Англи хэл дээр энгийн бөгөөд тохиромжтой үйлчилгээ. Сайт дээр тусгай зүйл байдаг. URL-г буулгах мөр, түүний хажууд үүсгэх товчлуур байна. Төгсгөлд нь дууссан PDF файлыг хатуу диск дээрээ татаж аваарай.
    2. - ижил төстэй ажилладаг өөр нэг гадаад үйлчилгээ.
    3. - маш алдартай үйлчилгээ бөгөөд түүний тусламжтайгаар дэлхий даяар 5,000,000 гаруй хуудас хадгалагдсан байна! Эндээс бусад зүйлсээс гадна та хөтөчийн нэмэлт програмуудыг татаж авах боломжтой (хуудсыг хадгалах бүрт сайт руу орохгүйн тулд).
    4. - нэлээд энгийн бөгөөд тохиромжтой үйлчилгээ. Сайт дээрх хамгийн бага шаардлагагүй мэдээлэл.

    Энэ бол миний хувьд, бүгдэд нь амжилт хүсье!


    Та яагаад вэбсайтын хуудсыг хадгалах хэрэгтэй байна вэ? Магадгүй та мэдээллийг оффлайнаар унших эсвэл сайт дээр ажиглалт хийх эсвэл өөр зорилгоор үүнийг хийхийг хүсч магадгүй юм. Би хувьдаа танд яагаад хэрэгтэй байгаа нь хамаагүй, би үүнийг яаж хийхийг танд хэлэх болно өөр өөр хөтөч. Тэгэхээр, Chrome, Opera, Yandex, Firefox хөтчүүдэд вэбсайтын хуудсыг PDF форматаар хэрхэн хадгалах вэ?

    Хөтөчөөс эхэлцгээе Chrome.

    Эхлээд та өөрийн сонирхсон хуудсыг олох хэрэгтэй. Би автомашины вэбсайтыг ax4.ru жишээ болгон ашиглах болно.

    Баруун дээд буланд байгаа сэндвич шиг зүйлийг товшино уу. Гарч ирэх цэснээс " Битүүмжлэх».

    Дараа нь та анхдагч нь таны суулгасан хэвлэгчийн нэр эсвэл хөтчөөр програмчлагдсан өөр принтер болохыг харах болно. Бид үүнийг тохирох товчлуур дээр дарж өөрчлөх хэрэгтэй " Өөрчлөх».

    Бид " Өөрчлөх", та зүйлийг сонгох хэрэгтэй цэс гарч ирнэ " PDF хэлбэрээр хадгалах».

    Үүний дараа, зүүн талд, принтерийн нэр "болно. PDF хэлбэрээр хадгалах" Таны хийх ёстой зүйл бол " Хадгалах».

    Хадгалах байршлыг сонгоно уу (миний хувьд энэ бол Ширээний компьютер).


    Ингээд л та хадгалсан зүйлээ нээж болно PDF файл. Энэ нь тийм ч их харагдахгүй байж болох ч та үүнээс текстийг маш амархан хуулж болно.

    Одоо би PDF файлыг Foxit Reader-ээр нээж байна. Та өмнө нь хэлсэнчлэн өөр програм ашиглаж болно.
    Энэ бол тийм ч хөөрхөн биш, гэхдээ та энэ санааг ойлгодог. Та ямар ч вэб хуудаснаас PDF файл хийж болно.

    Үүнийг хийхийн тулд би nz1.ru мэдээллийн сайт руу орж зарим мэдээг сонгох болно.

    Та аль хэдийн ойлгосноор процедур нь бүх хөтөч дээр ижил төстэй байдаг. Баруун дээд буланд байгаа сэндвичтэй төстэй зүйл дээр товшоод " Нэмж хэлэхэд"Ба" Битүүмжлэх».

    PDF хэлбэрээр хадгалах.

    Дараа нь хадгалах байршлыг сонгоно уу. Жишээлбэл, ширээний компьютер.

    Уншдаг ямар ч програмаар дамжуулан файлыг нээнэ үү PDF формат, бид ашигладаг.

    Би prikolnie-kartinki.ru сайхан зургуудтай сайтын жишээг ашиглан танд үзүүлэх болно.

    IN Mozilla хөтөч Firefox нь арай өөрөөр хийдэг. Дэлгэцийн баруун дээд буланд байгаа сэндвич дээр товшоод " Битүүмжлэх».

    © 2024 ermake.ru -- Компьютер засварын тухай - Мэдээллийн портал