Tworzenie PDF'a z obrazkami wysokiej jakości

0

Witam,

potrzebuję dodać do mojego programu opcję eksportującą zdjęcia do PDF, w taki sposób, żeby każde zdjęcie zajmowało dokładnie jedną stronę A4. Problem jest w tym, że zdjęcia te mają stosunkowo duże rozdzielczości, i jeśli chcę, używając biblioteki iTextSharp, umieścić każde na stronie a4, muszę je skalować, a wtedy tracą one na jakości. Konieczność skalowania wynika z tworzenia przez iTextSharpa dokumentów o niewielkim zagęszczeniu pikseli (DPI 72). Moje pytanie brzmi: czy jest w iTextSharpie opcja zmiany DPI (nie zdołałem jej odnaleźć), jeśli tak to pod jaką magiczną formułką się ona kryje, a jeśli nie, to jaka biblioteka umożliwi mi umieszczenie moich zdjęć w PDFie w dobrej jakości i co muszę o niej wiedzieć żeby to osiągnąć?

Z góry dziękuję za odpowiedzi i pozdrawiam

0

Dostałem odpowiedź na Stacku i okazało się, że muszę przeskalować to zdjęcie metodą iTextSharpową, a nie GDI+. Czyli najpierw tworzymy dokument o rozmiarze stron a4 i otwieramy go:

myDocument = new Document(pageSize(imageOrPdfFormatInt[1],image,imageBlobs.Length), 0, 0, 0, 0);
FileStream output = new FileStream(pdfPath + "myDocument.pdf", FileMode.Create);
PdfWriter writer = PdfWriter.GetInstance(document, output);
myDocument.Open();

i wrzucamy obrazek do obiektu iTextSharp.text.Image:

iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(toSaveImage,System.Drawing.Imaging.ImageFormat.Tiff);

potem skalujemy metodą ScaleToFit:

img.ScaleToFit(PageSize.A4.Width,PageSize.A4.Height);

podobno w najnowszej wersji iTextSharpa można zrobić to w ten sposób:

img.ScaleToFit(PageSize.A4);

a na końcu dodajemy obrazek i zamykamy dokument

myDocument.Add(img);
myDocument.Close();

i działa ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1