itext tutorial convert data pdf report using java itext
Deze iText-zelfstudie bespreekt hoe u bulkgegevens kunt manipuleren in een veilige, enkele vorm van PDF-rapport met behulp van Java en iText Library:
iText is de tool om een geconsolideerd rapport te genereren waarin we bulkgegevens kunnen manipuleren tot de enkele vorm van entiteit die zinvolle informatie bevat.
iText is een Java PDF-bibliotheek die wordt gebruikt voor het maken en manipuleren van PDF-documenten door Java-programma's te ontwikkelen. Enkele van de functies van de iText-bibliotheek zijn het genereren van interactieve PDF-documenten, het toevoegen van bladwijzers, het opslaan van PDF's als afbeeldingsbestanden, het splitsen en samenvoegen van bestaande PDF's in meerdere PDF's, enz.
Wat je leert:
- Waarom iText?
- Wat is iText?
- Hoe start u het iText-rapport?
- Hoe een rapport oproepen via JSP?
- Hoe kunnen testers een rapport starten?
- Hoe aan te roepen in JavaScript (JS)?
- Hoe de functie in Java-rapport te bouwen?
- Omgaan met waarschuwingen en uitzonderingen
- Servers
- Uitlijning in Itext Java
- Wie kan iText gebruiken?
- Gevolgtrekking
Waarom iText?
Het werkt in een veelzijdige omgeving van een geautomatiseerd rapport dat wordt geproduceerd door specifieke servers zoals Apache Tomcat, JBoss, Junit. Het biedt een door de gebruiker gedefinieerd document volgens de behoeften van de gebruiker.
Is iText-beveiliging gericht?
Het biedt manieren waarop documenten kunnen worden opgehaald op basis van beveiligingsgerelateerde bewerkingen, zoals met een wachtwoord beveiligd of het valideren van invoer van de gebruiker, zoals het openen van een loonstrook door PAN-gegevens in te voeren.
Tegenwoordig geven we over het algemeen de voorkeur aan het opslaan van gegevens in softcopy's in plaats van hardcopy's. Het is beter om rapporten op servers op te slaan dan papieren. Wanneer u het rapport nodig heeft, voert u gewoon het Java-bestand uit en genereert u het dan en daar.
Laten we in dit artikel proberen de oplossing te vinden voor de volgende vragen:
beste harde schijf klonen software windows 10
- Kunnen we multifunctionaliteit gebruiken?
- Of het alleen wordt gebruikt voor het opstellen van rapporten?
- Waar kunnen we Itext gebruiken?
- Of het het nieuwe rapport kan maken?
- Ik ben een tester, heb ik er iets aan?
Wat is iText?
De output van de iText-tool is een PDF-rapport geïntegreerd door Java. Dit neemt het PDF-gedrag en de componenten over en genereert een compatibel rapport.
iText is een open-source API met een coöperatieve omgeving, deelname aan volwaardige prisma-penetratie van licht en de basis voor het genereren van rapporten.
Bijvoorbeeld: Beschouw eens een voorbeeld van een ticket van de Indian Railways. Hier willen we de afdruk van de gedetailleerde samenvatting van het ticketproces, beginnend bij het zoeken naar beschikbaarheid van stoelen tot het boeken van het ticket.
Vervolgens zullen we begrijpen hoe iText ons kan helpen met deze vereiste.
Enkele van de kenmerken zijn als volgt:
- Volledige samenvatting van de aanvraag (CSA)
- Gemakkelijke trackinggegevens (ETD)
- Eenvoudige verwerking van de aanvraag (EPA)
Hoe start u het iText-rapport?
Het is gemakkelijk om de Itext via Java te benaderen. Het wordt geïllustreerd met behulp van een voorbeeld.
Business Analist (BA) krijgt Business Process Document (BPD) en Functional Specification Document (FSD) van de klant waarin hun verwachtingen van de applicatie worden toegelicht.
Laten we een scenario nemen. BA bracht meerdere vereisten met betrekking tot het inlijsten van rapporten en hoe ons basisproduct dit kan ondersteunen. Dergelijke specificaties van gereputeerde klanten doen ons denken het project hoe dan ook niet te verliezen vanwege veel verwarring en dilemma's over hoe het rapport op een compatibele manier kan worden bereikt.
Waarom ontstaat er zo'n verwarring in gegenereerde rapporten?
Dit komt doordat de gegevens die in de toepassing aanwezig zijn, slechts de weerspiegeling van gegevens in het rapport laten zien. Het beweegt niet om elk knooppunt in de applicatie te controleren (bijv. Zoals wordt gedaan in de MRI-scan). Het is dus de gemakkelijkste manier.
Ja precies. Maar onze klant verwacht dat de gegevens dynamisch zijn. Op basis van de beschikbare gegevens moet het rapport op een dynamische manier worden gegenereerd.
Laten we dit bespreken met een real-time voorbeeld.
Scenario 1: Statische gegevens kunnen hard worden gecodeerd en rapporten genereren. Hier veranderen het geleende bedrag en de waarde van het onroerend goed niet voordat ze worden uitbetaald.
Hieronder vindt u de afbeelding voor het bovenstaande scenario:
Scenario 2 In dit scenario stijgt de waarde van het onroerend goed met de dag en moet de hoofdsom van het geleende bedrag elk jaar worden verlaagd, en dus zijn de voorspelde gegevens dynamisch.
Een klant kan ons benaderen om de details voor verschillende boekjaren te verstrekken, omdat hij het mandaat heeft gewijzigd en op basis daarvan het EMI was gevarieerd. Als u de gegevens hard heeft gecodeerd zoals weergegeven in de onderstaande afbeelding, wordt u op heterdaad betrapt.
Beschouw het geval waarin het rapport dynamisch moet zijn. We kunnen het niet naar voren brengen zoals het is. We moeten de technische inspectie uitvoeren en de vereisten duidelijk doorlopen voordat we met de ontwikkeling en het testen beginnen.
We moeten ons heel duidelijk concentreren op het ontwerpgedeelte waar de goedkeuring wordt gedaan door de Business Analist. Het is een goede aanpak, omdat we niet op eventuele GAT-problemen kunnen wijzen die later aan de orde komen. Voorspeld wordt dat de oplossing voor dit probleem van het genereren van dynamische rapporten simpelweg Java-concepten gebruikt bij het genereren van een rapport.
Hoe bel je een rapport?
Het onderstaande diagram illustreert het proces om een rapport te genereren:
Hoe een rapport oproepen via JSP?
Waar we ook Java noemen, het is noodzakelijk om UI-ontwerp te doen, aangezien dit zal fungeren als een gidskaart om verder te gaan vanaf de voorkant. Het is een gemakkelijke manier omdat we de Report-oproep kunnen leren.
Laten we een voorbeeld bekijken:
We kunnen het rapport op deze manier configureren:
- Rapportnaam: Softwarerapport (weergave in applicatie)
- Rapport bellen via JS: Voorbeeldrapport
- Drop Menu: Meerdere rapporten kunnen worden geïntegreerd
- Bij klikken: JavaScript-functie
Hoe kunnen testers een rapport starten?
Testers geven meestal de voorkeur aan regressietests via automatiseringsscripts met behulp van het Cucumber-framework, het trefwoordgestuurde framework en het datagestuurde framework.
Om het rapport te leveren op basis van de eisen van de klant, kunnen we doorgaan met kant-en-klare architectuur, d.w.z. iText, waarbij de ingebouwde tool de eigenschappen en het gedrag van het reporterbestand overneemt, evenals de te leveren artefacten.
Testers kunnen het geconsolideerde rapport maken, zoals de resterende buglijst (RBL), het percentage testresultaten, het in kaart brengen van bug-id's op basis van de respectievelijke fasen zoals SIT, UAT en productietesten door iText Java te gebruiken.
Overweeg een scenario dat meerdere rapporten moet configureren.
De onderstaande code illustreert hoe te gebruiken in JSP, wat we aan de voorkant bekijken. De volgende methode wordt gebruikt:
Hoe aan te roepen in JavaScript (JS)?
Over het algemeen kunnen we validaties uitvoeren in JS, maar u kunt het zelfs in Java doen. JavaScript-uitvoerder is in ons pakket opgenomen voor het aanroepen van functies en om het programma aan te roepen om een rapport te genereren dat zeer compatibel is.
Het kan worden gebruikt om de methode (call) aan te roepen met een owner-object als argument.
De bovenstaande methode behandelt de onload () functie die in de applicatie kan worden aangeroepen om zeer veelzijdig te zijn en die de URL triggert om een rapport te genereren.
Hoe de functie in Java-rapport te bouwen?
Java behandelt de waarschuwingen en uitzonderingen in het programma en voert ook het genereren van rapporten uit.
Laten we dit illustreren aan de hand van een voorbeeld.
Het is de manier waarop het document wordt gemaakt en het is ook het platform dat het rapport integreert.
Het bovenstaande commando wordt gebruikt om het document te openen. Het is belangrijk om dit commando op te nemen alsof het niet is opgenomen, het genereert een documentuitzondering.
De bovenstaande opdracht wordt gebruikt om het document te sluiten dat aangeeft dat JVM heeft geaccepteerd dat het document stopt met schrijven. Het is belangrijk om dit commando op te nemen alsof het niet is opgenomen, het genereert een documentuitzondering.
De bovenstaande opdracht toont het document dat de eigenschappen van de PDF integreert via PDFWriter, het document oproept en het zichtbaar maakt.
Een paragraaf schrijft de instantie van de autofit-inhoud en schrijft ook de bulkregels van de vereiste.
In de bovenstaande opdracht is een document opgeroepen om de PDF aan te roepen om compatibel te zijn, zoals gedefinieerd door het opgenomen percentage.
De bovenstaande opdracht geeft de documentnaam weer, tussen de dubbele aanhalingstekens, en de opgegeven locatie om het bestand op te slaan zodra op het rapport is geklikt.
Hier toont het de manier om de PDF-versie in te stellen bij het genereren van rapporten.
We kunnen ook het paginaformaat instellen van hoe het rapport moet worden aangeleverd op basis van de vereisten. Het paginaformaat als A3, A4, A5, enz.
We kunnen de bovenstaande functionaliteit gebruiken om de marges in te stellen en we kunnen de autofit-methode gebruiken om deze normaal in het document te passen.
Het bovenstaande commando toont de methode van de instelling Marge spiegelen.
Omgaan met waarschuwingen en uitzonderingen
Het is belangrijk om de waarschuwingen en uitzonderingen in Java af te handelen.
Enkele van de waarschuwingen die we tijdens runtime tegenkomen, worden hieronder vermeld:
- NoSuchElement-uitzondering
- Null Pointer Uitzondering
- Array-index gebonden aan uitzondering
- Bevestigingsfout
- Uitzondering voor onverwerkte waarschuwingen
- SQL-uitzondering
- Uitzondering time-out
- Documentuitzondering
Soms kan de ontwikkelaar ook de uitzondering van een try-catch-blok afdrukken. De uitzondering is ingesloten onder het catch-blok.
Voorbeeld:
Voorbeelduitvoer: positief scenario
Voer het nummer in dat u wilt controleren: 2
Even getal
Voorbeelduitvoer: negatief scenario
Voer het nummer in om te controleren: a
Er is een uitzondering opgetreden: Ongeldige formaatuitzondering
Uitleg:
Er moet een getal worden opgegeven als invoer omdat we in het bovenstaande codevoorbeeld ‘n’ hebben gedefinieerd als een geheel getal. Als we alfabetten invoeren waar het probeert om de rest (% gebruikte modulus) te krijgen, dan zal het geen gegevens ophalen en gewoon de uitzondering gooien met behulp van catch-blok.
Het exacte verschil tussen fout en uitzondering in Java:
Een fout zal u ervan weerhouden het programma uit te voeren, maar een uitzondering zal worden opgemerkt tijdens het uitvoeren van het programma terwijl het uw uitvoering niet zal stoppen.
Een bestandslogboek vastleggen:
Door het logboek voor elke methode of module te schrijven, kunnen we identificeren waar JVM stopt met uitvoeren. Een logboek toont meestal de waarde waar het is opgeslagen in het opgegeven logbestand en op welke manier de processor het Java-programma in de toepassing uitvoert.
Verschil tussen System.out.println (SOP) en Log:
Beide drukken de waarde af of laten zien wat de inhoud ook tussen dubbele aanhalingstekens is ingevoerd. Maar de verschillen tussen deze twee zijn: Terwijl het programma draait, drukt de applicatie de waarden op de console af met een SOP-commando. Maar als we eenmaal de inhoud van de console hebben gewist, is het moeilijk om de waarde te vinden. Dit gebeurt ook als we meerdere SOP's hebben.
hoe je een array doorgeeft om te functioneren in java
Kortom, de Log factory-opdracht kan de waarden ophalen en bijwerken. We kunnen het logbestand koste wat het kost bekijken omdat het elke keer bij elke run schrijft met de systeemdatum en -tijd.
Voorbeeld:
Servers
Servers spelen een belangrijke rol in het bedrijf, omdat het kan bepalen of de uitvoering van het programma is geslaagd of niet.
Lokale servers zijn de servers waarop we het programma op onze lokale machine kunnen uitvoeren. We kunnen de volgende lokale servers gebruiken:
- Apache Tomcat
- JBoss
Zodra de code is ingevoerd Klaar staat, het moet worden geïmplementeerd op de opgegeven server en moet opnieuw worden opgestart. We kunnen de volgende servers gebruiken:
- Oracle Weblogic
- IBM Websphere
Voorbeeldprogramma:
Overweeg het programma waar het de iText-implementatie zou kunnen verwerken.
Uitlijning in Itext Java
Over het algemeen hebben gebruikers de rapportdocumenten in een specifiek formaat nodig, omdat de rapporten duidelijk moeten aangeven wat en hoe u de resultaten wilt weergeven. IText helpt je hierbij.
Voorbeeldprogramma
Wordt iText gebruikt om een nieuwe aan te maken of een bestaande bij te werken?
Een vraag kan rijzen of iText alleen wordt gebruikt om een nieuwe PDF te maken? Het antwoord is nee, naast het genereren van nieuwe PDF-rapporten, biedt iText ook enkele functies zoals het bijwerken van een bestaande pdf en het leveren van de geconsolideerde output die de bijgewerkte wijziging bevat.
Voorbeeldcode:
Brok in iText Pdf:
Chunk is de nieuwe techniek die past in de beschikbare ruimte in pdf en waarvoor geen begeleiding nodig is.
Voorbeeldprogramma:
Wie kan iText gebruiken?
Profiel | Ontwikkeling | Toegang bekijken |
---|---|---|
Ontwikkeling | Mogelijk | Gebruikersvriendelijk |
Tester | Gedeeltelijk mogelijk | Gebruikersvriendelijk |
Bedrijfsanalist | Niet mogelijk | Gebruikersvriendelijk |
Klant | Niet mogelijk | Gebruikersvriendelijk |
Gevolgtrekking
iTextpdf werkt gewoonlijk rapportbijdrage uit met behulp van Java voor het resultaat van de applicatie
'IText is de Java, maar het genereert pdf die als gebruiksvriendelijk zou passen en kristalheldere rapporten kan genereren'
Voordelen van iText:
- Applicatieverwerkingsinterface (API) op hoog en laag niveau
- Compatibiliteit in Provide End to End-services (PEE)
- Tekststroom Beschikbaarheid voor mobiele gebruikers opnieuw controleren (TFRAM)
- Aanpassingsvermogen.
- Cross-platform beschikbaarheid.
Nadelen van iText:
- Het is niet in staat om specifieke ontwerpen te realiseren.
- Grondige kennis van de concepten van OOP is vereist.
Aanbevolen literatuur
- Zelfstudie over reflectie in Java met voorbeelden
- Java SWING-zelfstudie: afhandeling van containers, componenten en gebeurtenissen
- JAVA-zelfstudie voor beginners: 100+ praktische Java-videotutorials
- Toegang tot modificatoren in Java - Tutorial met voorbeelden
- Java String met String Buffer en String Builder Tutorial
- Data Mart-zelfstudie - Typen, voorbeelden en implementatie van Data Mart
- Java String bevat () Method Tutorial met voorbeelden
- Zelfstudie over Java String | Java String-methoden met voorbeelden