Online Web-pdf-muunnin sisällysluettelolla. Kuinka helposti muuntaa verkkosivu PDF-muotoon? Erityisen avulla

Kotiin / Teknologiat
  • Java,
  • PDF
    • Opetusohjelma

    Minulle oli erittäin odottamatonta, että Java-keskittimessä ei käytännössä ole tietoa työskentelystä PDF-dokumentti Siksi haluamme henkilökohtaisen kokemuksen perusteella käyttää esimerkkiä servletistä näyttääksemme, kuinka helposti minkä tahansa verkkosivun voi muuttaa PDF-dokumentiksi.

    Johdanto:
    Kirjoitetaan yksinkertainen servlet, joka ottaa määrittämämme verkkosivun HTTP-protokollan kautta ja luo sen pohjalta täysimittaisen PDF-dokumentin.
    Käytetyt kirjastot:
    • Flying Saucer PDF on pääkirjasto, joka auttaa meitä luomaan PDF-dokumentin HTML/CSS:stä
    • iText on kirjasto, joka sisältyy yllä kuvattuun kirjastoon, mutta en voinut olla sisällyttämättä sitä kirjastojen luetteloon, koska... Tämän perusteella PDF-dokumentti luodaan
    • HTML Cleaner - kirjasto, joka puhdistaa HTML-koodimme

    Maven-kokoonpanon kirjastojen kuvaukset (pom.xml)

    org.xhtmlrenderer lentävä lautanen-pdf 9.0.4 net.sourceforge.htmlpuhdistaja htmlcleaner 2.6.1

    Sivun muodostus:
    Yksi eniten tärkeitä kohtia on sivun muodostus. Tosiasia on, että tulevan PDF-dokumentin parametrit asetetaan itse sivulta CSS:n avulla.

    Katsotaanpa asettelua:

    page.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"); %> Esimerkki

    Hei, habr! Nykyinen aika:<%=sdf.format(new Date())%>
    Uusi sivu!


    Tässä haluan korostaa muutamia kohtia. Ensimmäiset asiat ensin: kaikkien polkujen on oltava ehdottomia! Kuvat, tyylit, kirjasinosoitteet jne., absoluuttiset polut on määritettävä kaikelle. Käydään nyt läpi CSS-säännöt (mikä alkaa @-symbolilla).
    @font-face- Tämä on sääntö, joka kertoo PDF-generaattorillemme, mikä fontti tulee ottaa ja mistä. Ongelmana on, että PDF-dokumentin luova kirjasto ei sisällä kyrillisiä kirjasimia. Siksi tällä tavalla on tarpeen määrittää KAIKKI sivullasi käytetyt kirjasimet, vaikka niin olisikin vakiofontit: Arial, Verdana, Tahoma jne muuten On olemassa vaara, ettet näe kyrillisiä aakkosia asiakirjassasi.
    Kiinnitä huomiota ominaisuuksiin, kuten "-fs-pdf-font-embed: embed;" ja "-fs-pdf-font-encoding: Identity-H;", nämä ominaisuudet ovat välttämättömiä, älä vain unohda lisätä niitä.
    @sivu- Tämä on sääntö, joka määrittää PDF-dokumentin sisennykset sekä sen koon. Tässä haluaisin huomauttaa, että jos määrität sivun koon A3 (ja kuten käytäntö osoittaa, tämä on usein välttämätöntä, koska sivu ei mahdu asiakirjaan leveydeltä), tämä ei tarkoita, että käyttäjän on tulostettava asiakirja (haluttaessa) A3-muodossa, yksinkertaisesti koko sisältö pienennetään/suurennetaan suhteellisesti haluttuun kokoon (yleensä A4). Ne. viittaa kiinteistön arvoon koko epäileväinen, mutta tiedä, että sillä voi olla keskeinen rooli sinulle.
    @media- sääntö, jonka avulla voit luoda CSS-luokkia tietylle laitteelle, meidän tapauksessamme se on "tulosta". Tämän säännön sisällä loimme luokan, jonka jälkeen PDF-dokumenttigeneraattorimme luo uuden sivun.
    Servlet:
    Nyt kirjoitetaan servlet, joka palauttaa luodun PDF-dokumentin meille:

    PdfServlet.java

    paketti ru.habrahabr.web_to_pdf.servlets; tuonti org.htmlcleaner.CleanerProperties; tuonti org.htmlcleaner.HtmlCleaner; tuonti org.htmlcleaner.PrettyXmlSerializer; tuonti org.htmlcleaner.TagNode; tuonti org.xhtmlrenderer.pdf.ITextRenderer; tuonti javax.servlet.ServletException; tuonti javax.servlet.http.HttpServlet; tuonti javax.servlet.http.HttpServletRequest; tuonti javax.servlet.http.HttpServletResponse; tuo java.io.*; tuonti java.net.HttpURLConnection; tuonti java.net.URL; tuonti java.net.URLConnection; /** * Päivämäärä: 31.3.2014 * Aika: 9:33 * * @kirjoittaja Ruslan Molchanov ( [sähköposti suojattu]) */ julkinen luokka PdfServlet laajentaa HttpServlet-palvelua ( yksityinen staattinen lopullinen merkkijono PAGE_TO_PARSE = "http://localhost:8080/page.jsp"; yksityinen staattinen lopullinen merkkijono CHARSET = "UTF-8"; @Override suojattu void-palvelu (HttpServletRequest req HttpServletResponse resp) heittää ServletExceptionin, IOExceptionin ( try ( resp.setContentType("application/pdf"); tavu pdfDoc = performPdfDocument(PAGE_TO_PARSE); resp.setContentLength(pdfDoc.length);); resp.Doc.oc).putStreampdf(oc). catch (Poikkeus ex) ( resp.setContentType("text/html"); PrintWriter out = resp.getWriter(); out.write(" Jotain vikaa

    "); ex.printStackTrace(out); ex.printStackTrace(); ) ) /** * Menetelmä, jolla valmistetaan PDF-dokumentti. * @param polku sivulle * @palauttaa PDF-dokumentti * @heittää poikkeus */ yksityinen tavu performPdfDocument( String path) heittää poikkeuksen ( // Hae sivun HTML-koodi String html = getHtml(path); // Puskuri, joka sisältää muotoillun HTML-koodin ByteArrayOutputStream out = new ByteArrayOutputStream(); // HTML-muotoilu koodi /* tämä toimenpide on valinnainen, mutta suosittelen vahvasti tämän lohkon käyttöä */ HtmlCleaner cleaner = new HtmlCleaner();


    Muuten, ei ole ollenkaan tarpeen kirjoittaa servletiä näihin tarkoituksiin, voit siirtää tämän servletin logiikan jopa konsolisovellukseen, joka tallentaa PDF-dokumentteja tiedostoihin. Kuten olet ehkä huomannut, servletissä ei tarvitse määrittää, muuttaa, lisätä jne. (No, lukuun ottamatta polkua sivulle ja mahdollisesti koodausta), vastaavasti kaikki PDF-dokumentin valmistelutyö on hyvin yksinkertaista ja tapahtuu yksinomaan näkymässä.

    Lopulta sinun pitäisi saada PDF-dokumentti, joka näyttää tältä.

    Hyvää aikaa kaikille!

    Huolimatta siitä, että jokaisessa selaimessa voit luoda nopeasti kirjanmerkkejä suosikkisivuillesi, joskus on kuitenkin erittäin tarpeellista tallentaa haluttu verkkosivu PDF-muodossa (jos vain siksi, että tämä sivu voidaan poistaa tai muokata sivustolta ajan myötä) ...

    Lisäksi PDF-muodossa olevat tiedot ovat helposti luettavissa eniten erilaisia ​​laitteita(setä tukevat poikkeuksetta kaikki lukijat), voidaan muokata Wordissa ja siirtää muille käyttäjille. Ja itse sivu ei syöpy ajan myötä, sen muotoilu ja muotoilu eivät muutu. Yleensä hyödyllinen ja tarpeellinen asia!

    Tässä artikkelissa tarkastelen useita tapoja, joilla voit tehdä tämän nopeasti ja helposti. Oikeastaan ​​mennään asiaan...

    Selaintulostuksen käyttäminen

    1) Mikä tahansa selain sinulla on (Chrome, Opera, Edge, Firefox jne.), paina näppäinyhdistelmää Ctrl+P(tämä yhdistelmä tarkoittaa sivun tulostamista). Tämä toiminto on käytettävissä myös selaimen valikossa.

    2) Vaihda seuraavaksi oletustulostimeksi "Tallenna PDF-muodossa" tai "Microsoft Print to PDF" (riippuen selaimesta ja käyttöjärjestelmästä - käytettävissä voi olla erilaisia ​​vaihtoehtoja: molemmat tai vain yksi niistä). Katso pari kuvakaappausta alta.

    3) Aseta nyt perusasetukset: tallennettavien sivujen määrä, sivun asettelu, marginaalit, väri, ylä- ja alatunnisteet jne. Napsauta sitten "Tulosta"-painiketta.

    Itse asiassa tämä tehtävä on suoritettu. Nyt tuloksena oleva PDF voidaan avata Wordissa, Adobe PDF Readerissä ja sadoissa muissa tätä muotoa tukevissa ohjelmissa.

    Erityisen avulla laajennuksia

    Suosituimmille selaimille on nyt olemassa joukko erilaisia ​​lisäosia ja laajennuksia, joiden avulla voit tallentaa suosikkisivusi kuten pilvitallennus, ja PDF-tiedostoihin kiintolevylläsi.

    Haluaisin korostaa yhtä erittäin mielenkiintoista lisäystä - PDF MAGE.

    PDF Mage

    Pieni lisäosa Firefoxille, Operalle, Chromelle, jonka avulla voit tallentaa koko verkkosivun kiintolevyllesi yhdellä napsautuksella!

    Huomaa, että kun napsautat PDF Mage -kuvaketta, nykyinen sivu yksinkertaisesti ladataan PDF-muodossa latauskansioosi. On yksinkertaisesti mahdotonta kuvitella mitään mukavampaa...

    Näytän sinulle esimerkillä.

    Laajennuksen asentamisen jälkeen valikossa on pieni kuvake. Kun olet löytänyt mielenkiintoisen sivun, napsauta sitä hiiren vasemmalla painikkeella.

    Hetken kuluttua selain alkaa automaattisesti ladata PDF-tiedostoa. Itse asiassa kaikki tapahtuu ilman turhia liikkeitä, nopeasti ja kätevästi!

    Verkkopalvelujen käyttö

    Internetissä on myös monia Internet-palveluita, joiden avulla voit nopeasti tallentaa Internetissä olevat sivut PDF-muodossa. Teoksen olemus on suunnilleen seuraava: lisäät erityiseen. kirjoita tallennettavan sivun URL-osoite.

    Napsauta seuraavaksi painiketta luodaksesi PDF-tiedoston. Hetken kuluttua saat linkin PDF-tiedoston lataamiseen. Tietysti voit käyttää sitä, mutta vaatimattoman mielipiteeni mukaan tämä kaikki on tylsää ja sopii väliaikaiseen käyttöön. Esimerkiksi sinulla on "ongelmia" selaimen tai Windowsin kanssa, törmäsit johonkin "outoon" sivuun, jota ei haluta tallentaa edellisillä menetelmillä.

    Ja niin, suosituimmat tämän tyyppiset palvelut:

    1. - yksinkertainen ja kätevä palvelu englanniksi. Sivustolla on erikoistarjous. rivi, johon liität URL-osoitteen, ja sen vieressä on sukupolvipainike. Lataa lopuksi valmis PDF kiintolevyllesi.
    2. - toinen ulkomaan palvelu, joka toimii samalla tavalla.
    3. - erittäin suosittu palvelu, jonka avulla on jo tallennettu yli 5 000 000 sivua ympäri maailmaa! Täältä voit muun muassa ladata selaimen lisäosia (jotta et vieraile sivustolla joka kerta, kun sinun on tallennettava sivu).
    4. - melko yksinkertainen ja kätevä palvelu. Vähintään tarpeetonta tietoa sivustolla.

    Siinä kaikki minulle, onnea kaikille!


    Miksi verkkosivut pitää tallentaa? No, ehkä haluat lukea tietoja offline-tilassa tai tehdä havaintoja sivustosta tai haluat tehdä tämän muuhun tarkoitukseen. En henkilökohtaisesti välitä miksi tarvitset sitä, kerron vain, kuinka se tehdään eri selaimet. Joten kuinka voit tallentaa verkkosivuston sivun PDF-muodossa Chrome-, Opera-, Yandex- ja Firefox-selaimissa?

    Aloitetaan selaimesta Kromi.

    Ensin sinun on löydettävä sinua kiinnostava sivu. Käytän esimerkkinä autoalan verkkosivustoa ax4.ru.

    Napsauta oikeassa yläkulmassa jotain voileivän kaltaista. Napsauta näkyviin tulevassa valikossa " Tiiviste».

    Seuraavaksi näet, että oletusasetus on asentamasi tulostimen nimi tai jokin muu selaimen ohjelmoima tulostimen nimi. Meidän on muutettava se napsauttamalla vastaavaa painiketta " Muuttaa».

    Kun painamme " Muuttaa", näkyviin tulee valikko, josta sinun on valittava kohde" Tallenna PDF-muodossa».

    Tämän jälkeen vasemmalla tulostimen nimi muuttuu " tallenna PDF-muodossa" Sinun tarvitsee vain painaa " Tallentaa».

    Valitse tallennuspaikka (minulle se on työpöytä).


    Siinä kaikki, nyt voit avata tallennetun PDF-tiedosto. Se ei ehkä näytä paljolta, mutta voit kopioida tekstiä siitä erittäin helposti.

    Nyt avaan PDF-tiedoston Foxit Readerin kautta. Kuten aiemmin mainitsin, voit käyttää toista ohjelmaa.
    Siinä kaikki, ei kovin kaunista, mutta ymmärrät idean. Voit luoda PDF-tiedoston miltä tahansa verkkosivulta.

    Tätä varten menen uutissivustolle nz1.ru ja valitsen joitain uutisia.

    Kuten jo ymmärrät, menettely on samanlainen kaikissa selaimissa. Napsauta oikeassa yläkulmassa olevaa voileivän kaltaisuutta ja sitten " Lisäksi"ja" Tiiviste».

    Tallenna PDF-muodossa.

    Valitse sitten tallennuspaikka. Esimerkiksi työpöytä.

    Avaa tiedosto millä tahansa ohjelmalla, joka lukee PDF-muodossa, käytämme.

    Näytän sinulle esimerkin avulla sivustosta, jossa on upeita kuvia prikolnie-kartinki.ru.

    IN Mozilla selain Firefox tekee asiat hieman eri tavalla. Napsauta voileipää näytön oikeassa yläkulmassa ja valitse " Tiiviste».

    © 2024 ermake.ru - Tietoja PC-korjauksesta - Tietoportaali