Obrazy z bazy danych do pdf

0

Cześć,mam obecnie zapisane obrazy w bazie danych w typie blob. Chcę te obrazy wrzucić do pdf jak to mogę łatwo zrobić w ItextSharp?
KOD:

               MySqlDataAdapter sda = new MySqlDataAdapter(command, dbconn);
                
                DataTable dt = new DataTable();                

                sda.Fill(dt);

                var pdf = new Document();

                var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), "questions.pdf");
                var output = new FileStream(path, FileMode.Create);
                var pdfWriter = PdfWriter.GetInstance(pdf, output);

                pdf.Open();

                var title = new Paragraph();

                title.Alignment = Element.ALIGN_CENTER;
                title.Font = FontFactory.GetFont("Arial", 32);
                title.Add("Pytania Rekrutacyjne\n\n\n");

                pdf.Add(title);

                foreach (DataRow row in dt.Rows) // Adding questions from database to PDF file.
                {
                    var headerParagraph = new Paragraph();

                    headerParagraph.Alignment = Element.ALIGN_LEFT;
                    headerParagraph.Font = FontFactory.GetFont("Arial", 20);
                    headerParagraph.Add(row["content"].ToString());

                    pdf.Add(headerParagraph);
                }
0

Co masz zapisanie w bazie? to jest obrazek, tekst czy cały pdf ?
Rozumiem że chcesz do istniejącego pliku pdf dodać fragmenty z bazy i zapisać jako nowy plik ?
Jeśli tak to może lepiej zamiast Paragraph uzyć PdfCopy ?

0

Mam id pytanie i przypisany do pytania obrazek w zmiennej bool [] .Przy otwarciu pliku tekst zapisuje się normalnie problem jest tylko z obrazami

0

Masz obrazki i tekst trzymane w tej samej kolumnie (content) w bazie ?? Jakiego typu jest ta kolumna? Jakoś odróżniasz co jest czym ? np. dodatkowa kolumna na typ czy coś ?

obrazek do paragrafu dodajesz przez:

var img = new Image(); // to musisz wypełnic danymi z bazy
headerParagraph.Add(New Chunk(img, 5, -5)))
0

tak jedna kolumna to id ,kolejna "content" to treść pytania w varchar[200], a kolejna "Image" to wartość typu Blob. Na załączonym przykładzie przepraszam, ale źle trochę to pokazałem pod linijką headerParagraph.Add(row["content"].ToString()); powinna być kolejna headerParagraph.Add(row["Image"].); tylko gdy to robię to pokazuje mi się wtedy w PDF typ na jaki jest przekonwertowany obraz czyli bool[].

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