//---------------------------------------------------------------- ----------------------- Ċ // ĠCopyright Ġ( c ) Ġ 2 0 0 1 - 2 0 1 8 Ġby ĠPDF Tr on ĠSystems ĠInc . ĠAll ĠRights ĠReserved . Ċ // ĠConsult Ġlegal . txt Ġregarding Ġlegal Ġand Ġlicense Ġinformation . Ċ //---------------------------------------------------------------- ----------------------- Ċ Ċ package Ġcom . pdf tron . android . pdf net sdk samples . samples Ċ Ċ import Ġcom . pdf tron . common . Matrix 2 D Ċ import Ġcom . pdf tron . common . PDF Net Exception Ċ import Ġcom . pdf tron . pdf . Element Ċ import Ġcom . pdf tron . pdf . Element Builder Ċ import Ġcom . pdf tron . pdf . Element Writer Ċ import Ġcom . pdf tron . pdf . Font Ċ import Ġcom . pdf tron . pdf . Image Ċ import Ġcom . pdf tron . pdf . PDF Doc Ċ import Ġcom . pdf tron . pdf . Page Ċ import Ġcom . pdf tron . pdf . Rect Ċ import Ġcom . pdf tron . sdf . Obj Ċ import Ġcom . pdf tron . sdf . Obj Set Ċ import Ġcom . pdf tron . sdf . SD F Doc Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . Bitmap Factory Ċ Ċ import Ġcom . pdf tron . android . pdf net sdk samples . Output Listener Ċ import Ġcom . pdf tron . android . pdf net sdk samples . PDF Net Sample Ċ import Ġcom . pdf tron . android . pdf net sdk samples . R Ċ import Ġcom . pdf tron . android . pdf net sdk samples . util . Utils Ċ Ċ import Ġjava . io . File Ċ import Ġjava . util . ArrayList Ċ Ċ class ĠAdd Image Test Ġ: ĠPDF Net Sample () Ġ{ ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠsetTitle ( R . string . sample _ add image _ title ) ĊĠĠĠĠĠĠĠ Ġset Description ( R . string . sample _ add image _ description ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrun ( output Listener : ĠOutput Listener ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . run ( output Listener ) ĊĠĠĠĠĠĠĠ Ġm Output Listener Ġ= Ġoutput Listener ĊĠĠĠĠĠĠĠ Ġm FileList . clear () ĊĠĠĠĠĠĠĠ Ġprint Header ( output Listener !! ) ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Output Listener !!. println (" ------------------------------------------------ - ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdoc Ġ= ĠPDF Doc () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġf Ġ= ĠElement Builder () ĠĠĠĠĠĠĠ Ġ// ĠUsed Ġto Ġbuild Ġnew ĠElement Ġobjects ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwriter Ġ= ĠElement Writer () ĠĠĠ Ġ// ĠUsed Ġto Ġwrite ĠElements Ġto Ġthe Ġpage ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġpage Ġ= Ġdoc . page Create () ĠĠĠ Ġ// ĠStart Ġa Ġnew Ġpage ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwriter . begin ( page ) ĠĠĠĠĠĠĠ Ġ// ĠBegin Ġwriting Ġto Ġthis Ġpage ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ------------------------------------------------ ---------- ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAdd ĠJPEG Ġimage Ġto Ġthe Ġoutput Ġfile ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġimg Ġ= ĠImage . create ( doc . sdf Doc , ĠUtils . get Asset TempFile ( PDF Net Sample . Companion . INPUT _ PATH Ġ+ Ġ" pep pers . jpg ") !!. absolute Path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġelement Ġ= Ġf . create Image ( img , Ġ 5 0 . 0 , Ġ 5 0 0 . 0 , Ġ( img . image Width Ġ/ Ġ 2 ). toDouble (), Ġ( img . image Height Ġ/ Ġ 2 ). toDouble ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwriter . write Pl aced Element ( element ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ------------------------------------------------ ---------- ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAdd Ġa ĠPNG Ġimage Ġto Ġthe Ġoutput Ġfile ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimg Ġ= ĠImage . create ( doc . sdf Doc , ĠUtils . get Asset TempFile ( PDF Net Sample . Companion . INPUT _ PATH Ġ+ Ġ" but ter fly . png ") !!. absolute Path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelement Ġ= Ġf . create Image ( img , ĠMatrix 2 D ( 1 0 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 1 0 0 . 0 , Ġ 3 0 0 . 0 , Ġ 5 0 0 . 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwriter . write Pl aced Element ( element ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ------------------------------------------------ ---------- ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAdd Ġa ĠGIF Ġimage Ġto Ġthe Ġoutput Ġfile ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimg Ġ= ĠImage . create ( doc . sdf Doc , ĠUtils . get Asset TempFile ( PDF Net Sample . Companion . INPUT _ PATH Ġ+ Ġ" pdf net . gif ") !!. absolute Path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelement Ġ= Ġf . create Image ( img , ĠMatrix 2 D ( img . image Width . toDouble (), Ġ 0 . 0 , Ġ 0 . 0 , Ġimg . image Height . toDouble (), Ġ 5 0 . 0 , Ġ 3 5 0 . 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwriter . write Pl aced Element ( element ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ------------------------------------------------ ---------- ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAdd Ġa ĠTI FF Ġimage Ġto Ġthe Ġoutput Ġfile ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimg Ġ= ĠImage . create ( doc . sdf Doc , ĠUtils . get Asset TempFile ( PDF Net Sample . Companion . INPUT _ PATH Ġ+ Ġ" gray scale . tif ") !!. absolute Path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelement Ġ= Ġf . create Image ( img , ĠMatrix 2 D ( img . image Width . toDouble (), Ġ 0 . 0 , Ġ 0 . 0 , Ġimg . image Height . toDouble (), Ġ 1 0 . 0 , Ġ 5 0 . 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwriter . write Pl aced Element ( element ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwriter . end () ĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSave Ġthe Ġpage ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdoc . page Push Back ( page ) Ġ// ĠAdd Ġthe Ġpage Ġto Ġthe Ġdocument Ġpage Ġsequence ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ------------------------------------------------ ---------- ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠEmbed Ġa Ġmono chrome ĠTI FF . ĠCompress Ġthe Ġimage Ġusing Ġloss y ĠJ BIG 2 Ġfilter . ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpage Ġ= Ġdoc . page Create ( Rect ( 0 . 0 , Ġ 0 . 0 , Ġ 6 1 2 . 0 , Ġ 7 9 4 . 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwriter . begin ( page ) ĠĠĠ Ġ// Ġbegin Ġwriting Ġto Ġthis Ġpage ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠNote : Ġencoder Ġhints Ġcan Ġbe Ġused Ġto Ġselect Ġbetween Ġdifferent Ġcompression Ġmethods . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠFor Ġexample Ġto Ġinstruct ĠPDF Net Ġto Ġcompress Ġa Ġmono chrome Ġimage Ġusing ĠJ BIG 2 Ġcompression . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhint _ set Ġ= ĠObj Set () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġenc Ġ= Ġhint _ set . create Array () Ġ Ġ// ĠInit ila ize Ġencoder Ġ' hint ' Ġparameter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenc . push Back Name (" JB IG 2 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenc . push Back Name (" Loss y ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġimg Ġ= ĠImage . create ( doc . sdf Doc , ĠUtils . get Asset TempFile ( PDF Net Sample . Companion . INPUT _ PATH Ġ+ Ġ" multip age . tif ") !!. absolute Path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelement Ġ= Ġf . create Image ( img , ĠMatrix 2 D ( 6 1 2 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 7 9 4 . 0 , Ġ 0 . 0 , Ġ 0 . 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwriter . write Pl aced Element ( element ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwriter . end () ĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSave Ġthe Ġpage ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdoc . page Push Back ( page ) Ġ// ĠAdd Ġthe Ġpage Ġto Ġthe Ġdocument Ġpage Ġsequence ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ------------------------------------------------ ---------- ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAdd Ġa ĠJPEG 2 0 0 0 Ġ( JP 2 ) Ġimage Ġto Ġthe Ġoutput Ġfile ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠCreate Ġa Ġnew Ġpage ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpage Ġ= Ġdoc . page Create () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwriter . begin ( page ) ĠĠĠ Ġ// ĠBegin Ġwriting Ġto Ġthe Ġpage ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠEmbed Ġthe Ġimage . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimg Ġ= ĠImage . create ( doc . sdf Doc , ĠUtils . get Asset TempFile ( PDF Net Sample . Companion . INPUT _ PATH Ġ+ Ġ" pal m . jp 2 ") !!. absolute Path ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠPosition Ġthe Ġimage Ġon Ġthe Ġpage . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelement Ġ= Ġf . create Image ( img , ĠMatrix 2 D ( img . image Width . toDouble (), Ġ 0 . 0 , Ġ 0 . 0 , Ġimg . image Height . toDouble (), Ġ 9 6 . 0 , Ġ 8 0 . 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwriter . write Pl aced Element ( element ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠWrite Ġ' JPEG 2 0 0 0 ĠSample ' Ġtext Ġstring Ġunder Ġthe Ġimage . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwriter . write Element ( f . createText Begin ( Font . create ( doc . sdf Doc , ĠFont . e _ times _ roman ), Ġ 3 2 . 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelement Ġ= Ġf . createText Run (" JPEG 2 0 0 0 ĠSample ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelement . setText Matrix ( 1 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 1 . 0 , Ġ 1 9 0 . 0 , Ġ 3 0 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwriter . write Element ( element ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwriter . write Element ( f . createText End ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwriter . end () ĠĠĠ Ġ// ĠFinish Ġwriting Ġto Ġthe Ġpage ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdoc . page Push Back ( page ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ------------------------------------------------ ---------- ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġdoc . Save (( Utils . create External File (" add image . pdf "). getAbsolutePath ()). c _ str (), ĠDoc . e _ remove _ unused , Ġ 0 ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdoc . save ( Utils . create External File (" add image . pdf "). absolute Path , ĠS DF Doc . Save Mode . LINEAR IZED , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm FileList . add ( File ( doc . fileName ). name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdoc . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Output Listener !!. println (" Done . ĠResult Ġsaved Ġin Ġadd image . pdf ...") ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠPDF Net Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Output Listener !!. println ( e . stack Trace ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( file Ġin Ġm FileList ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ToFile List ( file ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġprint Footer ( output Listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġm Output Listener : ĠOutput Listener ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġm FileList Ġ= ĠArrayList < String >() ĊĠĠĠ Ġ} Ċ Ċ }