.Net pdf to tiff converter - SDK application service:C# PDF Convert to Tiff SDK: Convert PDF to tiff images in C#.net, ASP.NET MVC, Ajax, WinForms, WPF
Online C# Tutorial for How to Convert PDF File to Tiff Image File
www.rasteredge.com
.Net pdf to tiff converter - SDK application service:VB.NET PDF Convert to Tiff SDK: Convert PDF to tiff images in vb.net, ASP.NET MVC, Ajax, WinForms, WPF
Free VB.NET Guide to Render and Convert PDF Document to TIFF
www.rasteredge.com
XML processing and website scraping in
Java
HowtouseJSoupandXMLBeam inpractice
GaborLaszloHajba
Thisbookisforsaleathttp://leanpub.com/javaxml
Thisversionwaspublishedon2016-03-05
ThisisaLeanpubbook.LeanpubempowersauthorsandpublisherswiththeLeanPublishing
process.LeanPublishingistheactofpublishinganin-progressebookusinglightweighttools
andmanyiterationstogetreaderfeedback,pivotuntilyouhavetherightbookandbuild
tractiononceyoudo.
©2014-2016GaborLaszloHajba
SDK application service:Online Convert PDF file to Tiff. Best free online PDF Tif
Online PDF to Tiff Converter. Download Free Trial. Convert a PDF File to Tiff. RasterEdge C#.NET PDF to TIFF converting library control (XDoc.PDF) is a
www.rasteredge.com
SDK application service:XDoc.Converter for .NET, Support Documents and Images Conversion
This .NET file converter SDK supports and image file formats, including Microsoft Office (2003 and 2007) Word, Excel, PowerPoint, PDF, Tiff, Dicom, SVG
www.rasteredge.com
Tweet This Book!
PleasehelpGaborLaszloHajbabyspreadingthewordaboutthisbookonTwitter!
Thesuggestedhashtagforthisbookis#WebsiteScrapingWithJava.
Findoutwhatotherpeoplearesayingaboutthebookbyclickingonthislinktosearchforthis
hashtagonTwitter:
https://twitter.com/search?q=#WebsiteScrapingWithJava
SDK application service:RasterEdge XDoc.Tiff for .NET - SDK for Tiff Document Imaging
Tiff viewer for .NET. Fully featured HTML5 Tiff Viewer. Fully featured WinForms Tiff Viewer. Able to view and edit Tiff rapidly. Convert. Convert Tiff to PDF.
www.rasteredge.com
SDK application service:C#: How to Use SDK to Convert Document and Image Using XDoc.
Sample Code. Here's a snippet of sample code for converting Tiff to PDF file using XDoc.Converter for .NET in C# .NET program. Six
www.rasteredge.com
Also ByGaborLaszloHajba
CDI
WebsiteScrapingwithPython
Python3inAnger
SDK application service:VB.NET PDF Convert to HTML SDK: Convert PDF to html files in vb.
VB.NET PDF Converter SDK for Converting PDF to HTML Webpage in Visual Basic .NET. Best VB.NET PDF Document to HTML file Converter SDK for Visual Studio .NET.
www.rasteredge.com
SDK application service:VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to
View PowerPoint in WPF; C#.NET: View Tiff in WPF. XDoc.Converter for C#; XDoc.PDF for C#▶: C#: ASP.NET PDF Viewer; C#: ASP.NET PDF
www.rasteredge.com
Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
LeanPub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
Whattookmethemosttime? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
Acknowledgement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
XMLProcessingandtheGoogleAppEngine . . . . . . . . . . . . . . . . . . . . . . .
3
WhyGAE? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
Gettingthedata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
XMLtoHTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
XMLtoPDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
XMLtoRTF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
XMLto“.*X” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
ExportingthefilesinGAE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
XMLProcessingAdvanced . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
WebsitescrapingwithJSoupandXMLBeam. . . . . . . . . . . . . . . . . . . . . . . .
8
Runtimecomparisonadvanced . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
UpgradetoJava8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
CustomprintingforHTMLwithJSoup . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
PrintingXMLBeamprojections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
SDK application service:VB.NET Create PDF from Word Library to convert docx, doc to PDF in
View PowerPoint in WPF; C#.NET: View Tiff in WPF. XDoc.Converter for C#; XDoc.PDF for C#▶: C#: ASP.NET PDF Viewer; C#: ASP.NET PDF
www.rasteredge.com
SDK application service:VB.NET PDF- HTML5 PDF Viewer for VB.NET Project
With RasterEdge VB.NET HTML5 PDF Viewer, users can directly convert and export PDF to Tiff, HTML file, DOCX and image files without other converter installed.
www.rasteredge.com
Preface
ThisisabookaboutusingXMLandHTMLprocessingtoolswiththeJavaplatform.
Idonotwanttoexplaineverytoolyoucanfindontheinternet.Itwouldbeoverwhelmingand
badforthetime-lineofthisbook.SoIjustlookatthosetoolsIencounteredinmydailywork.
SometimesItoyedwiththosetoolsoutsidemydailyworkandresearchedsomethingnewor
triedoutsomenewfeatures.
One ofthose newfeatures war the performance-tuning ofthe Website Scraper application
mentionedinChapter3, whereI thoughtabout theperformanceoftheapplication (you’ll
seerunningwiththewholedata-setwasapain)andIchangedsomemeasurementpartsand
optimizedthetoolsforabettercomparison.AndattheendIdidparallelizethewholeprocess
withJava8andstreams.
ThetoolsIwillmentionandexplainabitareXMLBeamandJSoup.Thefirstoneisanawesome
XML processing engine, the second one is a websitescraper tool. However you could use
XMLBeamtodothesameasJSoup– butthequerylanguageisabitbothersomeifyoudo
notknowXPath.
LeanPub
IpublishmybooksonLeanPubbecause
• Icandistributenewpartsfaster
• thereareonlydigitalversions:fewertreeshavetodie
• cheaperbecauseyouneedlessinfrastructure(andItoobuythecheaperbooksmyself)
• everybookpurchasedgetstheupdatesandcorrections(noneedtolook-upsomeerrata)
Soifsomeonedonotwanttopaysomedollarsbecausetherewon’tbeanyupdatesandhe/she
hastousesomeonlineerrata,Icanjustsay:donotworry,hereyou’llgeteveryupdateofthe
book–andtheyarealreadyincludedintheprice.
ItcanhappenthatIexpandthebookwithsomechaptersonmyownorIwriteanothersample
application–andatthistimethenewversionofthebookwillbeavailableheretoo.Thisbecause
thetechnologyisalteringsofastandaftersometimeabookstuffedwitholdknowledgewon’t
beuseful.
Whattook me themosttime?
AsIwaswritingthisbookthemosttimewentontohaveastablebaseofapplicationwhatIcan
useforperformancemeasurementanddisplayingtheresults.Ihadmanyideasinmindandas
1
Preface
2
IdevelopedthepiecesIgotonmoreandbettersolutionsandthingsIwantedtoshowyousoI
wenton,refactoredapartofthecode.
ThismeantthatsometimesIhadtoredorunswithdifferentconfigurationstohavebetterresults.
ButIdonotregretthatIdidtheseerrands–ifIwantthemcallso.IlearnednewthingsandI
havemanyideaswheretogoon.Perhapsthiswillresultinanotherbookormoreblogarticles.
Acknowledgement
IhavetothankSvenEwald,thecreatorofXMLBeam¹,forreviewingmybook’schaptersabout
XMlBeam. Besidethishefoundtimetoanswer myquestionandprovidemesampleswith
answers.
BecauseLeanPubcurrentlycannotdisplaythewholebook’sTableofContentsinthesample,
Iusethisworkaroundtoshowyou whatyou’llgetifyou buythisbook.I know,itisabit
awkward(yougetsomeemptypagesinyoursamplePDF)butsoyoucanseewhatcomesinthe
otherversion.
¹
http://xmlbeam.org
XML Processing and the Google App
Engine
InthischapterI’llintroduceyoutoXMLprocessingandtheGoogleAppEngine(GAE).
WhyGAE?
Thisisagoodquestion.MostlybecauseI’veworkedwiththeGAEandIencounteredsome
problemswithitandtheXMLprocessing.SoIthoughtIcouldsharemyproblemsandsolutions
withyou.Perhapsyouareinterestedinitorevenithelpsyoutosolvesomeproblems.
WritingaboutdevelopmenttoaGAEenvironmentisalwayskindof“fun”becauseyouhave
yoursolutions–andattheendyougetapunchinyourfacefromtheGAE:someclassesyou
wanttousearenotpermitted.Thenyoustartlookingforasolutioninsideofthefeasiblearea.
Thiswasthecasewhen we(a co-worker andI)had thetask torender an XML(provided
from somewheresomehow– itisnotimportantin thecurrentcontext)invariousformats:
PDFandRTF.Andasabonus(becauserenderingthosedocumentswasnottheeasiestthing)I
implementedaweb-baseddisplaytootoseeifwegettherightdata.VisualisingXMLasHTML
isalwaystheeasiestthing.Formeatleast.
Gettingthe data
ThedatacamethroughaSOAPinterfaceinanXML-bundle.Iwillnotgointodetailhowto
accesstheSOAPinterfacebecauseitwasnottheeasiestthing,andI’vewrittenanarticleinmy
blogaboutitsometimeago.AndSOAPisdead,RESTisin,andcurrentlyHATEOASisthenew
pathyoushouldwalkwhenyouworkwithremotestructureddata.
HoweverXMLisagoodstructureddataformatwhichyoucanuseinmanyways.
Asyou’llseelater,weneededanXMLparsertogetthedataextractedfromthetransmitted
XML.ForthisIcreatedaquickandeasyXMLextractorwhichtooktheXMLandextractedthe
requireddatawithsomeXPathexpressionsintoobjects.Itwasnotthebestsolutionbutitwas
leasttime-consuming.AnditwasagoodpracticeformetoworkwithXML.
XMLtoHTML
AsImentionedthiswasnorequirementbutIwantedtoseeresultsassoonaspossiblesoIadded
anHTMLdisplayoftheXMLinput.
ConvertingXMLtoHTMLiseasy:youonlyneedtodoanXSLTransformation(XSLT)and
then you are done. Theresult you get is an HTML file (or XML or text – depending on
3
XMLProcessingandtheGoogleAppEngine
4
yourconfiguration).ButthisisforGAEano-gobecauseyouarenotallowedtocreatefiles
dynamicallyfromyourapplication.
NeverthelessyoucanendupwithasolutiontodisplayyourXMLdatarepresentedasanHTML
page:youonlyhavetoaddthestylesheettoyourdataandmostofthebrowserswilldisplayit
correctly.
Howtoaddthestylesheet?
YouhavetoaddatagcontainingthestylesheettoyourXML-Data.Forexample:
<?xml-stylesheet type="text/xsl" " href="stylesheets/detailHtml.xsl"?>
totransformtheXML toHTMLwithXSLT(thedetailHtml.xslcontainsthetransformation
information).
Ifyougetyourdatafromaninterface(forexamplefromaSOAPservice)youhavetobeabit
trickytogetyourXSLintoyourXML–becauseyougetallofthedatainoneXMLdataset.
Howeverifyouthinkaboutasolutionyouwouldendupwith:replacingthestartingrootnode
withitselfandthestylesheet-node.WiththisworkaroundyoucanaltertheXMLdatasetand
displayitalongwithXSLT.AndthisworkswithGAEtoo.
String rootNode "<rootNode>";
xmlString.replaceFirst(rootNode,
"<?xml-stylesheet type=\"text/xsl\" href=\"stylesheets/detailHtml.xsl\"?>" rootNode);
TheexampleaboveisalittlehackbutyouhavetodothistoaddthestylesheettotheXMLdata.
XMLtoPDF
ConvertinganXMLtoaPDFissomethingsimpletoo:withXSLTyoucreateanXSL-FO(FOfor
FormattedObjects)documentfromyourXML.AnFOdocumentisanXMLusingelementnames
(nodenames)fromtheFOnamespace.AfterthisyoucansendyourresultingFOdocumenttoa
render-engine(forexampleApacheFOP)andyougetyourPDF.
SoundssimplehoweverGAEdoesnotallowsomeoftheclasseswichareusedbyApacheFOP
(forexampleAWTgraphics).Sothereisneedforanotherworkaround.
iTextisagoodalternativetoFOPhoweveritdoesnothandleFOdocuments.Nevertheless,iText
hasanXmlWorkerprojectwhichshouldbeusedtorenderXML(XHTML)documents.Sothis
soundsverygoodsoIgaveitatry.TogetanXHTMLfromtheXMLIusedagainXSLT.
UnfortunatelyIhadsomeproblemswithapplyingtherequiredCSStotheXHTMLoutput(some
ofthemworked,somenot)andasfarasIcanremembertheXmlWorkerhadsomeproblemswith
displayingtherequiredimagestoo.Andbesidetheimagesthereisarequirementofspecificfonts
tousewhendisplayingthetexts–andthisishardlymanageabletoowhenitcomestoXHTML
toPDFconversion(oratleastIdidnotfindagood-enoughsolution).
XMLProcessingandtheGoogleAppEngine
5
SoIendedupcreatingthePDFmanuallywithiTextaddedeachelementonit’sown,program-
matically.ToachievethisIcreatedacustomXMLextractorwhichsplittheprovidedXMLresult
documentintosomeclasses(groupedbycoherence)andaddeddisplay-informationtothese
classes.
Thiswastheleasttime-consumingsolution.EventuallyIcouldhavetakenalookatFlyingSaucer
(whichhasthesamepurposeastheXmlWorker:tocreatePDFfromXHTML)butasImentioned
weneededthedataasquickaspossible.HoweverifIgetsomefreetimebetweenmyprojects
I’lltakealookatFlyingSaucerandtryouthowgooditistogeneratetherequiredPDFfroman
XHTML.
XMLtoRTF
ThesecondrequirementwastocreateanRTFdocument.WhyRTF?Becauseitcanbedisplayed
overvariousplatforms(Windows,MacOS,Linux)–andthereexistsomeopensourcetoolsto
createRTFdocumentsandithasbeenusedinanotherprojectsuccessfully.
Well.WhatyouhavetoknowaboutRTFis:itwasaMicrosoftstandarduntil2008.Sincethen
Microsoftgaveitupanddoesnotimproveitanyfurther.Theyworkontheirnewstandard(the
“.*X”inmyterminologyfor.docX,.xlsX,.pptX).Besidesthis,RTFwasnotsupportedwith100%
byanyotherdocumenteditorthanMSWord.Andthetoolwhichhadbeenused(namelyjRTF)
doesnotimplementallofthefeaturessocreatingdocumentswithitcanbeapainintheneck.
iTexthadanRTFgeneratortoo(alongsidewiththePDFgenerator)butitisn’timprovedanymore.
Sowedidnoteventrytouseitforourpurposes.
Butwedidit–asfaraswecould.Somefeatures(likeembeddingfonts)donotworksowehad
toloosentherequirementsfortheRTFdocuments.WeusedjRTFintheendbecauseitwasthe
onlytoolwhichwasavailableandfairlyup-to-date.AndasImentionedpreviously:itwasapain
inthenecktocreatetheRTFdocuments.Forexample:picturesinthedocumentaredisplayed
asasinglelineinmyMac’sOpenOffice.Notthebestthing,isit?
YoucouldaskwhyareRTFdocumentsneededifyouhaveaPDF?Well,thePDFcancontain
toomuchinformationorthedisplayorderofthedatacouldbenotthebest(agoodexamplefor
thisisaCVorsomemanagementreports)andtheuserswanttoalterthedocument.Alternative
forthiswouldbeacustomizableapplicationwhereyoucouldpickandorderthedatawhichyou
wanttodisplay.Isuggestedthisfeaturebutithadbeenrejectedbecauseitwouldneedsome
moretimetofinishthetask.
XMLto“.*X”
Yes.Finallyhereitcomes.ImentionedMicrosoft’snewstandardfordocumentsabove.Andthere
isapossibilitythatthemanagementwilldecidetocreateaWorddocumentfromtheprovided
XMLdata.
Currentlywe’reevaluatingthepossibilitiesandfeaturesofframeworkssuch asApachePOI
anddocx4j becausewe havealready the data extracted from the XML tocreate the docx
programmatically.ParallelweareevaluatingasolutiontotransformtheXMLdataintoadocx
Documents you may be interested
Documents you may be interested