Diciamo che ho una collezione di file PDF con i seguenti percorsi:scorrendo una directory con Ant
/some/path/pdfs/birds/duck.pdf
/some/path/pdfs/birds/goose.pdf
/some/path/pdfs/insects/fly.pdf
/some/path/pdfs/insects/mosquito.pdf
Quello che mi piacerebbe fare è generare miniature per ogni PDF che rispettano la struttura percorso relativo, e uscita in un'altra posizione, ovvero:
/another/path/thumbnails/birds/duck.png
/another/path/thumbnails/birds/goose.png
/another/path/thumbnails/insects/fly.png
/another/path/thumbnails/insects/mosquito.png
Mi piacerebbe che fosse fatto in Ant. Presumo che ho intenzione di usare Ghostscript sulla riga di comando e ho già lavorato fuori la chiamata a GS:
<exec executable="${ghostscript.executable.name}">
<arg value="-q"/>
<arg value="-r72"/>
<arg value="-sDEVICE=png16m"/>
<arg value="-sOutputFile=${thumbnail.image.path}"/>
<arg value="${input.pdf.path}"/>
</exec>
Quindi quello che devi fare è capire i valori corretti per ${thumbnail.image.path}
e ${input.pdf.path}
durante l'attraversamento del Directory di input PDF.
Ho accesso a ant-contrib (appena installato il "più recente", che è 1.0b3) e sto usando Ant 1.8.0. Penso di riuscire a far funzionare qualcosa usando l'attività <for>
, <fileset>
s e <mapper>
s, ma ho difficoltà a mettere tutto insieme.
ho provato qualcosa di simile:
<for param="file">
<path>
<fileset dir="${some.dir.path}/pdfs">
<include name="**/*.pdf"/>
</fileset>
</path>
<sequential>
<echo message="@{file}"/>
</sequential>
</for>
Ma purtroppo la proprietà @{file}
è un percorso assoluto, e non riesco a trovare un modo semplice di decomposizione nei relativi componenti.
Se posso farlo solo utilizzando un'attività personalizzata, credo di poterne scrivere uno, ma spero di poter collegare solo i componenti esistenti.
Sembra molto interessante. Puoi espandere il tuo codice solo un po 'per mostrare come lo userò? Io lo uso in congiunzione con l'attività e, in caso affermativo, va nello ? –