Hallo und Danke erst mal. In der SP01 sieht der Druck mit den Eingabe wie du es vorgeschalgen ahst auch richtig aus aber der Druck ist trotzdem wieder gedreht.a-dead-trousers hat geschrieben:Da muss im PDF selbst was eingestellt sein.
Die "Anzeige" über FUBA EFG_DISPLAY_PDF und SP01 ruft im Endeffekt ja nur das Dokument im PDF-Viewer des Systems auf (meist Adobe Reader) und der kann diese "Sonderkonfigurationen" für eine bessere Darstellung übergehen.
Versuch mal aus dem Viewer heraus das Dokument zu drucken. Wichtig ist, dass die "tatsächliche Größe" verwendet wird und die Einstellung für "Hoch-/Querformat" auf "automatisch" steht.
also das erstellete PDF als Lokale Datei runterladen und über die CMD drucken oder?a-dead-trousers hat geschrieben:Wenn sich alle Drucker, die du getestet hast, gleich verhalten, dann ist der "Fehler" in der Datei bzw. in dem Programm in dem du das gebündelte PDF zusammenbauen lässt.
Um SAP als Schuldigen gänzlich auszuschließen, kannst du versuchen das PDF herunterzuladen und direkt über die Kommandozeile von Windows zu drucken:
https://stackoverflow.com/questions/325 ... batch-file (2. Antwort)
Damit läuft die komplette Verarbeitung im Drucker ab, ohne Beteiligung des Adobe Reader.
Ja, um sicherzustellen, dass der Fehler in der PDF-Datei selbst liegt.dkast hat geschrieben:also das erstellete PDF als Lokale Datei runterladen und über die CMD drucken oder?
Hallo. Ich habe mir die Datei gespeichert. Da ist auch alles so wie es sein soll. Dann habe ich die PDF Datei manuell auf einem Drucker gedruckt und abgespeichert. Die Seiten sind dann wieder gedreht.a-dead-trousers hat geschrieben:Ja, um sicherzustellen, dass der Fehler in der PDF-Datei selbst liegt.dkast hat geschrieben:also das erstellete PDF als Lokale Datei runterladen und über die CMD drucken oder?
Hmm, in meinem Programm sieht das ganze folgndermaßen aus:a-dead-trousers hat geschrieben:Ok, nein. Damit ist klar, dass der Fehler in der Datei selbst liegt. Mit SAP-Mitteln wirst du da nicht mehr viel machen können.
Du wirst den Fehler in dem Programm suchen müssen welches die PDF-Datei erstellt hat.
Code: Alles auswählen.
fp_outputparams-bumode = 'M'.
fp_outputparams-assemble = 'X'.
fp_outputparams-getpdf = 'M'.
CALL FUNCTION 'FP_JOB_OPEN'
CHANGING
ie_outputparams = fp_outputparams
EXCEPTIONS
cancel = 1
usage_error = 2
system_error = 3
internal_error = 4
OTHERS = 5.
CHECK sy-subrc = 0.
fp_docparams-langu = 'X'.
fp_docparams-country = 'DE'.
* fp_docparams-fillable = 'F'.
LOOP AT it_data.
CALL FUNCTION w_form
EXPORTING
/1bcdwb/docparams = fp_docparams
/1bcdwb/docxml = fp_docxml
masch = it_data-masch
bereich = it_data-berei
ktext = crhd_v1-ktext
IMPORTING
/1bcdwb/formoutput = ls_output.
fp_pages = fp_pages + 1.
ENDLOOP.
CALL FUNCTION 'FP_JOB_CLOSE'
EXCEPTIONS
usage_error = 1
system_error = 2
internal_error = 3
OTHERS = 4.
DATA: lt_pdf TYPE tfpcontent.
DATA: ls_pdf TYPE fpcontent.
CALL FUNCTION 'FPCOMP_GET_PDF_TABLE'
IMPORTING
e_pdf_table = lt_pdf.
IF w_dialog = 'X'. "and w_sel3 = 'X'. " PDF soll nicht angezeigt werden
" PDF an SPool schicken
DATA: lf_dest TYPE rspopname,
lf_pdf TYPE xstring,
lf_name TYPE tsp01-rq0name.
lf_name = fp_outputparams-dataset.
lf_dest = i_dev.
LOOP AT lt_pdf INTO ls_pdf.
lf_pdf = ls_pdf.
CALL FUNCTION 'ADS_CREATE_PDF_SPOOLJOB'
EXPORTING
* PRINTER = lf_printer
dest = lf_dest
pages = fp_pages
pdf_data = lf_pdf
name = lf_name
* SUFFIX1 = 'TEST'
* SUFFIX2 = sy-uname
copies = 1
* PRIO =
immediate_print = 'X'
* AUTO_DELETE =
* TITLELINE =
* RECEIVER =
* DIVISION =
* AUTHORITY =
* LIFETIME = '0'
* IMPORTING
* SPOOLID =
EXCEPTIONS
no_data = 1
not_pdf = 2
wrong_devtype = 3
operation_failed = 4
cannot_write_file = 5
device_missing = 6
no_such_device = 7
OTHERS = 8
.
ENDLOOP.
Hast du irnged einen Anreitz für mich was im Formular falsch sein könnte?a-dead-trousers hat geschrieben:Dann ist der Fehler im AdobeForms-Formular zu suchen.
Was ich aber nicht ganz verstehe:
Wenn du eh schon den ADS verwendest, warum machst du dann den Umweg über PDF (fp_outputparams-getpdf = 'X')?
Lass das weg dann kümmert sich SAP/Adobe ab dem FP_JOB_CLOSE um den ganzen Ausdruck und du musst nicht mit den Spooljobs herumhantieren (FPCOMP_GET_PDF_TABLE, ADS_CREATE_PDF_SPOOLJOB)
Ich würde meine Suche bei den Masterseiten beginnen. Die geben das Format für den Ausdruck vor.dkast hat geschrieben:Hast du irnged einen Anreitz für mich was im Formular falsch sein könnte?
Hallo, sorry für die späte Rückmeldung. Auf der Masterseite ist Hochformat eingestellt. JavaScript oder Seitenumbrüche sind nicht vorhanden.a-dead-trousers hat geschrieben:Ich würde meine Suche bei den Masterseiten beginnen. Die geben das Format für den Ausdruck vor.dkast hat geschrieben:Hast du irnged einen Anreitz für mich was im Formular falsch sein könnte?
Dann könnte es noch Steuerkommandos (JavaScript) dafür geben.
Eventuell kann es auch an "harten" (Nach ... wechseln zu ... usw.) Seitenumbrüchen liegen.
Hi,a-dead-trousers hat geschrieben:Sorry, aber jetzt gehen auch mir schön langsam die Ideen aus
EDIT:
Mir fällt grad auf, dass du den Parameter ie_outputparams-getpdf mit 'M' versorgst. Der sollte eigentlich 'X' sein. Das Ergebnis greif ich üblicherweise über /1bcdwb/formoutput-pdf ab und nicht über den Baustein FPCOMP_GET_PDF_TABLE (Den kannte ich noch gar nicht). Und wie bereits gesagt: Wenn du das Formular eh ausdrucken möchtest, dann könntest du dir den Umweg über PDF sparen und das Formular gleich auf einem Drucker ausgeben lassen.