Ciao a tutti,
tramite ITextSharp ho la necessità di capire dove sono posizionate le immagini e la loro dimensione.
Per quanto riguarda la posizione è ok, per quanto riguarda la dimensione non ottengo i dati corretti.
I dati ottenuti sembrano corretti come rapporto tra width e height, ma i valori non corrispondono a quelli reali.
L'impressione è che la risorsa immagine presente nel pdf venga inserita nella pagina con un fattore di scaling.
Per esempio nella stessa pagina ho le seguenti due immagini:
- image1.width, dovrebbe essere 100pt, invece è 1.000 pt (10 volte tanto)
- image1.height, dovrebbe essere 50pt, inece è 500 pt (sempre 10 volte tanto)
- image2.width, dovrebbe essere 200pt, invece è 100 pt (1/2 volte tanto)
- image2.height, dovrebbe essere 100pt, invece è 50 pt (sempre 1/2 volte tanto)
Sia width che height li calcolo tenendo conto della risoluzione dell'immagine, ovvero:
Avete qualche idea?codice:public static float PixelToPoint(float pixel, float resolution) { return pixel * resolution / 72; } public static void Test() { ... PdfDictionary pdfDictionary = imageExtractionStrategy.images[i].GetDictionary(); width = PixelToPoint(((PdfNumber)pdfDictionary.Get(PdfName.WIDTH)).FloatValue, image.HorizontalResolution); height = PixelToPoint(((PdfNumber)pdfDictionary.Get(PdfName.HEIGHT)).FloatValue, image.VerticalResolution); }
Grazie
Luciano