Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Wie kann man ein Bild (Blob) mit Hilfe von Oracle in eine PDF-Datei schreiben?

Empfohlene Antworten

Seit Tagen versuche ich schon ein Bild was sich in einer Datenbank befindet mit Oracle in eine PDF-Datei zu schreiben. Leider funktionieren die Funktionen nicht die ich bereits im Inet gefunden habe.

In der Tabelle(s_images) gibt es folgende Spalten:

Image as blob

Name as Varchar2(255)

Extfile as Varchar2(250)

Mimetype as Varchar2(10)

So etwas funtionier nicht:

procedure p_image is

vblob blob;

test blob;

lenght number;

buffer raw(1024);

buffer_size integer := 1024;

offset integer :=1;

mimetype varchar2(10);

begin

select IMAGE into vblob from s_images where name='logo';

select mimetype into mimetype from s_images where name='logo';

lenght := dbms_lob.getlength(vblob);

pdf.g_nr_Blattweite := 596;

pdf.g_nr_Blatthoehe := 842;

pdf.p_OpenDocument('Image');

owa_util.mime_header(mimetype,TRUE);

while offset < lenght loop

dbms_lob.read(vblob, buffer_size, offset, buffer );

htp.prn(utl_raw.cast_to_varchar2(buffer));

offset := offset + buffer_size;

end loop;

pdf.p_CloseDocument;

end p_image;

Hier heisst es immer:

Ein nicht erkannter Token "Content-type:" wurde gefunden.

Dies liegt an den Zeilen (wie ich es herausgefunden hab):

owa_util.mime_header(mimetype,TRUE); und

htp.prn(utl_raw.cast_to_varchar2(buffer));

Hingegen Folgendes geht:

procedure p_image is

vblob blob;

test blob;

lenght number;

buffer raw(1024);

buffer_size integer := 1024;

offset integer :=1;

mimetype varchar2(10);

begin

select IMAGE into vblob from s_images where name='logo';

select mimetype into mimetype from s_images where name='logo';

lenght := dbms_lob.getlength(vblob);

pdf.g_nr_Blattweite := 596;

pdf.g_nr_Blatthoehe := 842;

pdf.p_OpenDocument('Image');

while offset < lenght loop

dbms_lob.read(vblob, buffer_size, offset, buffer );

pdf.p_PrintText(utl_raw.cast_to_varchar2(buffer));

offset := offset + buffer_size;

end loop;

pdf.p_CloseDocument;

end p_image;

Leider wird hier das Bild im Unicode ausgegeben...

Wisst ihr wie ich es schaffen könnte,

dass Bild anzeigen zu lassen?

MfG AtSlayer

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.