In questo articolo parleremo di MergeTIFF, una console application realizzata in .NET Core e C# che consente di unire più file TIFF (inclusi i file TIF multi-pagina) in un singolo file TIF multi-pagina. Il codice sorgente completo, così come gli eseguibili per Windows e Linux a 32 e a 64-bit, è rilasciato su licenza open-source (GNU v3) e interamente disponibile su GitHub.
Lo strumento è stato sviluppato da Ryadel nell'ambito di un progetto educativo sviluppato all'interno del corso di formazione su ASP.NET Core e C#: il codice sorgente è stato rilasciato pubblicamente così da consentirne lo studio e l'utilizzo gratuito a tutti gli interessati.
Utilizzo
Lo strumento può essere utilizzato da riga di comando Windows o Linux specificando due parametri, nel seguente modo:
1 |
> MergeTIFF <sourceFolder> <targetFile> |
- <sourceFolder> : la cartella contenente i file TIFF da unire.
- <targetFile> : il percorso completo del file TIF risultante, che conterrà tutti i file contenuti nella cartella di origine (uno per pagina).
Esempio:
1 |
> MergeTIFF C:\Temp\TIFF\ C:\Temp\MergeFile.tif |
Framework e dipendenze
MergeTIFF è stato realizzato utilizzando i seguenti strumenti di sviluppo e librerie esterne:
- .NET Core 2.2.108 SDK (x32 e/o x64, a seconda della piattaforma di compilazione)
- Windows Compatibility Pack v 2.1.1 (limitatamente all'utilizzo della libreria System.Drawing.Common, necessaria per utilizzare le interfacce GDI+ su Windows e Linux)
- WiX Toolset build tools 3.11.1 e WiX Toolset VS2019 Extension (per il pacchetto di installazione)
L'impiego del WiX Toolset è necessario solo se avete intenzione di compilare il pacchetto di installazione, ovvero un singolo EXE per distribuire l'applicazione sotto forma di installer: se non conoscete il WiX Toolset e/o volete saperne di più su come utilizzarlo all'interno di un qualsiasi progetto Visual Studio, suggeriamo di dare un'occhiata alla nostra recensione e guida all'utilizzo di WiX Toolset.
Riferimenti
Il progetto utilizza internamente la classe helper MergeTiff, già pubblicata su questo blog sotto forma di articolo qualche settimana fa: per approfondire ulteriormente il suo funzionamento e/o le sue modalità di utilizzo, consigliamo di leggere l'articolo originale. Per maggiori informazioni sulle interfacce GDI+, sui cui è basato sia il codice sorgente della helper class che questo progetto, consigliamo di dare un'occhiata a quest'altro articolo dedicato.
Feedback
Per qualsiasi domanda, suggerimento o altra informazione vi invitiamo a contattarci tramite il modulo contatti presente su questo sito o a utilizzare la pagina issues del progetto GitHub.