Converting html data to pdf
Hi,
I have some html table and data (reports) which are generated by JSP. I want to provide a button for exporting the report content to pdf. I found many tutorials in converting html data to excel. But I want it to be exported to PDF. How can i do it?
thanx
You can use libraries like:
iText, Actuate eSperadsheet Reporting engine to do the Job for you.
Similar Messages
-
Convert Binary Data into Pdf & send it as attachment in a mail in Workflow
Hi,
Scenario:
The interactive form saved in WebDynpro Application is sent to R/3 in binary format. It has to be converted into pdf and sent it as an attachment in mail to the respective person in workflow.
Kindly help on these issues :
1. How to receive the binary data in R/3 sent by the WebDynpro Application ?
To my knowledge we can receive the binary in XSTRING data type. Plz correct me if am wrong.
2. How do i convert the received binary data into pdf ?
Thanks,
Bharath KaushikHi Bharath,
I think you should try to write dat being sent to R/3 to spool first, as in R/3 there is FM <i>CONVERT_ABAPSPOOLJOB_2_PDF</i> , with the help of which you will be able to convert Binary data to PDF format.
Pls find one of the threads related to this , and see if this is useful to you.
Problem in CONVERT_ABAPSPOOLJOB_2_PDF.
Hope this atleast helps to start off.
Regds,
Akshay Bhagwat
PS: Some points would be nice if it helps:) -
Help converting html/xhtml to pdf with bfo pdf lib or other tools?
Hi,
I need to convert from xhtml to pdf. I tried parsing it with xerces and crimson but wouldnt work. So the samples coming with big faceless pdf library dosent work. Is there any other method to convert html/xhtml to pdf - any libraries for direct conversion. BFO pdf report generator takes xml as i/p to convert to pdf.
Thanks for any helpLook here:
http://www.adobe.com/sea/products/server/pdfgenerator/ -
To Convert ASCII Data to PDF file
Hello,
Does any one knows how to convert ASCII data into PDF document using Java. I know there are some 3 party tools available which does this, but i don't want to use any 3 party tools.
Can help on this matter, doing it using java programming will be appreciatedif you don't want to use 3rd party tools, then you will need to go read either the source of an app that does it, and port/copy it.
Or go read the the specs. -
Converting HTML Forms to PDF - Field Names
When I use Adobe 8 to convert and HTML form to PDF all the field names in the resulting PDF have the crazy long names that are jumble of letters and numbers. So I always have to go back through and manually rename every field because I'm using another program to autopopulate the fields with data. Is there any way to get Acrobat to automatically name the fields in the PDF the same as they are named in the form either using the "name" or "id" properties of the HTML fields? I don't understand why this isn't the default behaviour to begin with.
The reason this is done is due to a fundamental difference between HTML forms and Acrobat forms. In HTML forms, fields with the same name do not necessarily share the same value, whereas in Acrobat forms they do.
In the conversion process, Acrobat gives each field a unique name, but also sets a field's mapping name to the name the field had in the original HTML form. This is so that if the PDF form is used to submit as "HTML", then the original field names will be used and any server process that is capable of dealing with the HTML form is capable of dealing with the resulting PDF form. So be aware that if you want to use your modified form to submit to a web server using the "HTML" format, the new field names that you set will not be used. What will be used are the hidden mapping names.
Unfortunately, I don't think there's anything you can do about any of this to make it work like you want.
George -
Bitmap image won't show after converting HTML file to pdf
I have a program which saves a technical report as a HTML file. I don't have another choice as to file type to save as. This program has a template which generates the report....and there are fields which are filled in...some text fields, and one is a company logo. Just to be clear the logo itself is not in the template, a holding place is there which points to the location of the logo on my drive. This is all set up by the program and can't be altered.
If I save the logo as a jpg, png or tiff file, the logo shows up in the final HTML report and if I use Adobe Professional (version 7.0 on Win XP) to create a pdf the image also shows up - a perfect replica of the report is created in pdf, making it convenient for printing and email.
If I save the logo as a bitmap file (which creates a higher resolution and sharper looking logo) the logo shows up in the initial HTML technical report, but when I convert this to pdf the file is not found, instead it shows as a small square red box with the error "Bad file image" or "unable to download image".
I can't understand why this would be the case as the logo is saved in the same location whether it is jpg, png, tiff or bmp. It just seems that the Adobe Pro doesn't know how to "find" the bitmap logo from the HTML template.
I did try converting the HTML document to Word but it threw the formatting out and when it was converted to pdf it cropped the page & I wasn't able to resolve this...maybe it can be done but it is a long way around in any case, particularly if steps then need to be taken to correct the formatting.
At the moment the document can be printed with success from the original format - then it's a matter of scanning the printed document in order to email. It can't be emailed directly because of the embedded information which is lost if then sent to the recipient's computer. However it would be nice if the doc could be converted to pdf which would then make it easier to transfer the file to a backup drive or for email. Any ideas? ThanksThanks for your response. Yes I did mean .bmp files.
The problem is not getting it to show in HTML - but Adobe then picking it up from there. I guess though if it is not a standard format for HTML then maybe Adobe has trouble recognising it if it is there. Also, it is possible for Adobe to convert .bmp files if they are inserted in the HTML file, but I have instead a template with the code for the location of the file rather than the graphic itself. I don't have this problem using the other file formats and getting them into pdf...it's just that the images aren't as sharp as the bmp. I have tried various formats and resolutions so if there isn't a way I can get the bmp from the HTML file into pdf I might just have to live with printing and scanning from the original. Thanks for your input, it confirms what I was thinking. I'll leave this unanswered for now in case someone else has further information. -
Converting binary data into pdf and placing into application server
Hi Friends,
I am able to get PO details in binary format and then using GUI_DOWNLOAD with file type with 'bin' and file name with 'sample.pdf' extension , got PO in pdf format.
But i need to get with pdf extension in application server without using GUI_DOWNLOAD.
Is there any functional modules for it?
With Warm Regards,
Madhu!!!Hi Madhu,
Check this code.
*& Report ZSPOOLTOPDF *
*& Converts spool request into PDF document and emails it to *
*& recipicant. *
*& Execution *
*& This program must be run as a background job in-order for the write *
*& commands to create a Spool request rather than be displayed on *
*& screen *
REPORT zspooltopdf.
PARAMETER: p_email1 LIKE somlreci1-receiver
DEFAULT '[email protected]',
p_sender LIKE somlreci1-receiver
DEFAULT '[email protected]',
p_delspl AS CHECKBOX.
*DATA DECLARATION
DATA: gd_recsize TYPE i.
Spool IDs
TYPES: BEGIN OF t_tbtcp.
INCLUDE STRUCTURE tbtcp.
TYPES: END OF t_tbtcp.
DATA: it_tbtcp TYPE STANDARD TABLE OF t_tbtcp INITIAL SIZE 0,
wa_tbtcp TYPE t_tbtcp.
Job Runtime Parameters
DATA: gd_eventid LIKE tbtcm-eventid,
gd_eventparm LIKE tbtcm-eventparm,
gd_external_program_active LIKE tbtcm-xpgactive,
gd_jobcount LIKE tbtcm-jobcount,
gd_jobname LIKE tbtcm-jobname,
gd_stepcount LIKE tbtcm-stepcount,
gd_error TYPE sy-subrc,
gd_reciever TYPE sy-subrc.
DATA: w_recsize TYPE i.
DATA: gd_subject LIKE sodocchgi1-obj_descr,
it_mess_bod LIKE solisti1 OCCURS 0 WITH HEADER LINE,
it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,
gd_sender_type LIKE soextreci1-adr_typ,
gd_attachment_desc TYPE so_obj_nam,
gd_attachment_name TYPE so_obj_des.
Spool to PDF conversions
DATA: gd_spool_nr LIKE tsp01-rqident,
gd_destination LIKE rlgrap-filename,
gd_bytecount LIKE tst01-dsize,
gd_buffer TYPE string.
Binary store for PDF
DATA: BEGIN OF it_pdf_output OCCURS 0.
INCLUDE STRUCTURE tline.
DATA: END OF it_pdf_output.
CONSTANTS: c_dev LIKE sy-sysid VALUE 'DEV',
c_no(1) TYPE c VALUE ' ',
c_device(4) TYPE c VALUE 'LOCL'.
*START-OF-SELECTION.
START-OF-SELECTION.
Write statement to represent report output. Spool request is created
if write statement is executed in background. This could also be an
ALV grid which would be converted to PDF without any extra effort
WRITE 'Hello World'.
new-page.
commit work.
new-page print off.
IF sy-batch EQ 'X'.
PERFORM get_job_details.
PERFORM obtain_spool_id.
Alternative way could be to submit another program and store spool
id into memory, will be stored in sy-spono.
*submit ZSPOOLTOPDF2
to sap-spool
spool parameters %_print
archive parameters %_print
without spool dynpro
and return.
Get spool id from program called above
IMPORT w_spool_nr FROM MEMORY ID 'SPOOLTOPDF'.
PERFORM convert_spool_to_pdf.
PERFORM process_email.
if p_delspl EQ 'X'.
PERFORM delete_spool.
endif.
IF sy-sysid = c_dev.
wait up to 5 seconds.
SUBMIT rsconn01 WITH mode = 'INT'
WITH output = 'X'
AND RETURN.
ENDIF.
ELSE.
SKIP.
WRITE:/ 'Program must be executed in background in-order for spool',
'request to be created.'.
ENDIF.
FORM obtain_spool_id *
FORM obtain_spool_id.
CHECK NOT ( gd_jobname IS INITIAL ).
CHECK NOT ( gd_jobcount IS INITIAL ).
SELECT * FROM tbtcp
INTO TABLE it_tbtcp
WHERE jobname = gd_jobname
AND jobcount = gd_jobcount
AND stepcount = gd_stepcount
AND listident <> '0000000000'
ORDER BY jobname
jobcount
stepcount.
READ TABLE it_tbtcp INTO wa_tbtcp INDEX 1.
IF sy-subrc = 0.
message s004(zdd) with gd_spool_nr.
gd_spool_nr = wa_tbtcp-listident.
MESSAGE s004(zdd) WITH gd_spool_nr.
ELSE.
MESSAGE s005(zdd).
ENDIF.
ENDFORM.
FORM get_job_details *
FORM get_job_details.
Get current job details
CALL FUNCTION 'GET_JOB_RUNTIME_INFO'
IMPORTING
eventid = gd_eventid
eventparm = gd_eventparm
external_program_active = gd_external_program_active
jobcount = gd_jobcount
jobname = gd_jobname
stepcount = gd_stepcount
EXCEPTIONS
no_runtime_info = 1
OTHERS = 2.
ENDFORM.
FORM convert_spool_to_pdf *
FORM convert_spool_to_pdf.
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
src_spoolid = gd_spool_nr
no_dialog = c_no
dst_device = c_device
IMPORTING
pdf_bytecount = gd_bytecount
TABLES
pdf = it_pdf_output
EXCEPTIONS
err_no_abap_spooljob = 1
err_no_spooljob = 2
err_no_permission = 3
err_conv_not_possible = 4
err_bad_destdevice = 5
user_cancelled = 6
err_spoolerror = 7
err_temseerror = 8
err_btcjob_open_failed = 9
err_btcjob_submit_failed = 10
err_btcjob_close_failed = 11
OTHERS = 12.
CHECK sy-subrc = 0.
Transfer the 132-long strings to 255-long strings
LOOP AT it_pdf_output.
TRANSLATE it_pdf_output USING ' ~'.
CONCATENATE gd_buffer it_pdf_output INTO gd_buffer.
ENDLOOP.
TRANSLATE gd_buffer USING '~ '.
DO.
it_mess_att = gd_buffer.
APPEND it_mess_att.
SHIFT gd_buffer LEFT BY 255 PLACES.
IF gd_buffer IS INITIAL.
EXIT.
ENDIF.
ENDDO.
ENDFORM.
FORM process_email *
FORM process_email.
DESCRIBE TABLE it_mess_att LINES gd_recsize.
CHECK gd_recsize > 0.
PERFORM send_email USING p_email1.
perform send_email using p_email2.
ENDFORM.
FORM send_email *
--> p_email *
FORM send_email USING p_email.
CHECK NOT ( p_email IS INITIAL ).
REFRESH it_mess_bod.
Default subject matter
gd_subject = 'Subject'.
gd_attachment_desc = 'Attachname'.
CONCATENATE 'attach_name' ' ' INTO gd_attachment_name.
it_mess_bod = 'Message Body text, line 1'.
APPEND it_mess_bod.
it_mess_bod = 'Message Body text, line 2...'.
APPEND it_mess_bod.
If no sender specified - default blank
IF p_sender EQ space.
gd_sender_type = space.
ELSE.
gd_sender_type = 'INT'.
ENDIF.
Send file by email as .xls speadsheet
PERFORM send_file_as_email_attachment
tables it_mess_bod
it_mess_att
using p_email
'Example .xls documnet attachment'
'PDF'
gd_attachment_name
gd_attachment_desc
p_sender
gd_sender_type
changing gd_error
gd_reciever.
ENDFORM.
FORM delete_spool *
FORM delete_spool.
DATA: ld_spool_nr TYPE tsp01_sp0r-rqid_char.
ld_spool_nr = gd_spool_nr.
CHECK p_delspl <> c_no.
CALL FUNCTION 'RSPO_R_RDELETE_SPOOLREQ'
EXPORTING
spoolid = ld_spool_nr.
ENDFORM.
*& Form SEND_FILE_AS_EMAIL_ATTACHMENT
Send email
FORM send_file_as_email_attachment tables it_message
it_attach
using p_email
p_mtitle
p_format
p_filename
p_attdescription
p_sender_address
p_sender_addres_type
changing p_error
p_reciever.
DATA: ld_error TYPE sy-subrc,
ld_reciever TYPE sy-subrc,
ld_mtitle LIKE sodocchgi1-obj_descr,
ld_email LIKE somlreci1-receiver,
ld_format TYPE so_obj_tp ,
ld_attdescription TYPE so_obj_nam ,
ld_attfilename TYPE so_obj_des ,
ld_sender_address LIKE soextreci1-receiver,
ld_sender_address_type LIKE soextreci1-adr_typ,
ld_receiver LIKE sy-subrc.
data: t_packing_list like sopcklsti1 occurs 0 with header line,
t_contents like solisti1 occurs 0 with header line,
t_receivers like somlreci1 occurs 0 with header line,
t_attachment like solisti1 occurs 0 with header line,
t_object_header like solisti1 occurs 0 with header line,
w_cnt type i,
w_sent_all(1) type c,
w_doc_data like sodocchgi1.
ld_email = p_email.
ld_mtitle = p_mtitle.
ld_format = p_format.
ld_attdescription = p_attdescription.
ld_attfilename = p_filename.
ld_sender_address = p_sender_address.
ld_sender_address_type = p_sender_addres_type.
Fill the document data.
w_doc_data-doc_size = 1.
Populate the subject/generic message attributes
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = 'SAPRPT'.
w_doc_data-obj_descr = ld_mtitle .
w_doc_data-sensitivty = 'F'.
Fill the document data and get size of attachment
CLEAR w_doc_data.
READ TABLE it_attach INDEX w_cnt.
w_doc_data-doc_size =
( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = 'SAPRPT'.
w_doc_data-obj_descr = ld_mtitle.
w_doc_data-sensitivty = 'F'.
CLEAR t_attachment.
REFRESH t_attachment.
t_attachment[] = it_attach[].
Describe the body of the message
CLEAR t_packing_list.
REFRESH t_packing_list.
t_packing_list-transf_bin = space.
t_packing_list-head_start = 1.
t_packing_list-head_num = 0.
t_packing_list-body_start = 1.
DESCRIBE TABLE it_message LINES t_packing_list-body_num.
t_packing_list-doc_type = 'RAW'.
APPEND t_packing_list.
Create attachment notification
t_packing_list-transf_bin = 'X'.
t_packing_list-head_start = 1.
t_packing_list-head_num = 1.
t_packing_list-body_start = 1.
DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
t_packing_list-doc_type = ld_format.
t_packing_list-obj_descr = ld_attdescription.
t_packing_list-obj_name = ld_attfilename.
t_packing_list-doc_size = t_packing_list-body_num * 255.
APPEND t_packing_list.
Add the recipients email address
CLEAR t_receivers.
REFRESH t_receivers.
t_receivers-receiver = ld_email.
t_receivers-rec_type = 'U'.
t_receivers-com_type = 'INT'.
t_receivers-notif_del = 'X'.
t_receivers-notif_ndel = 'X'.
APPEND t_receivers.
CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
document_data = w_doc_data
put_in_outbox = 'X'
sender_address = ld_sender_address
sender_address_type = ld_sender_address_type
commit_work = 'X'
IMPORTING
sent_to_all = w_sent_all
TABLES
packing_list = t_packing_list
contents_bin = t_attachment
contents_txt = it_message
receivers = t_receivers
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
OTHERS = 8.
Populate zerror return code
ld_error = sy-subrc.
Populate zreceiver return code
LOOP AT t_receivers.
ld_receiver = t_receivers-retrn_code.
ENDLOOP.
ENDFORM.
Hope this resolves your query.
<b>Reward all the helpful answers.</b>
Regards -
Hi experts,
I'm looking for a possibility to conbvert a Spool-request to PDF fomrat.
Following situation:
I have a Web Dynpro that creates a page with a few material details. I can now export this to Excel, but now the requeiremt is also to convert it to PDF.
We don't have ADS, so I can't use Adobe forms. First, I tried to create a Smartform and convert this to PDF which will work. But I have also a few pictures included which come from a Web Service (as JPG). After searchin a while I found a possibilty to convert them to TIF and insert them in SE78 automatically. But this takes to much time and as a result of insert them to SE78, the colors will change (only 256 colors).
Next idea was to generate a HTML-Mail out of my Smartform (regaring this blog /people/pavan.bayyapu/blog/2005/08/30/sending-html-email-from-sap-crmerp) what works perfectly now.
So now I have a Spool in SOST which contains a HTML file. OK, looks great, all pictures are included, takes not much time - but how to convert this to PDF?
Anybody any ideas?Hi experts,
after searching the whole forum and internet, I don't find any solution.
Maybe the convertion from Spool to PDF is not possible...
OK, another idea:
I read that the wrong colors result from the different color depth (16/24 bit vs 256 colors). So my last idea is to convert the image before inserting into BDS (SE78), automatically done by SAP.
Is there any function/coding you know which can convert me a image from 24bit to 256 colors? If so, I can convert the image and then insert into BDS... -
How to convert binary data to PDF and attach to the particular po
our client wants to attach the pdf coming from portal as attachment to that particular PO. From portal the pdf will come in binary format. Find how will we convert that binary data back to pdf and attach to the PO in R/3?
Hi,
You can downlaod Binary data into PDF using GUI_DOWNLOAD...pass the binary data and the BINSIZE...
santhosh -
Convert Binary Data into Pdf & send it as attachment in a mail
Hi Friends,
Scenario :
The interactive form saved in WebDynpro Application is sent to R/3 in binary format. It has to be converted into pdf and sent it as an attachment in mail to the respective person.
Kindly help on these issues :
1. How to receive the binary data in R/3 sent by the WebDynpro Application ?
2. How do i convert the received binary data into pdf ?
Regards & Thanks,
Bharath Kaushik KrishnanCheck thread Data Conversion
if it is useful for you. -
Convert Binary Data into Pdf & send it as attachment in a mail from R/3
Hi,
Scenario:
The interactive form saved in WebDynpro Application is sent to R/3 in binary format. It has to be converted into pdf and sent it as an attachment in mail to the respective person in workflow.
Kindly help on these issues :
1. How to receive the binary data in R/3 sent by the WebDynpro Application ?
To my knowledge we can receive the binary in XSTRING data type. Plz correct me if am wrong.
2. How do i convert the received binary data into pdf ?
Thanks,
Bharath Kaushik KrishnanHI Bharath,
I think You can reuse teh XString for binary data.there are certain function modules in R/3 for creating pdf/for sending it as pdf attatchment.please search in abap forums you will find more information
With Regards
Naidu -
Convert itab data into PDF & Grouping data in PDF
1. How to convert data in internal table into PDF
2. I need to group this data in pdf as below.
Assume, i have storage location & ebeln in my itab. So my pdf should haves recs as:
001 1000000000
1000000001
1000000002
1000000003
002 1000000004
1000000005
so on.... i.e. i should not repeat the value of LGORT in all the recs, if it is same.
Thanks
Kiran
Edited by: kiran dasari on Jun 13, 2009 11:07 AMWhile writing the data to spool, using FM "RSPO_WRITE_SPOOLREQUEST"; clear the storage location..
Sort itab by lgort ebeln.
loop at itab into wa_itab.
wa_itab1 = wa_itab.
clear wa_itab1-lgort.
at new lgort.
wa_itab1-lgort = wa_itab-lgort.
endat.
call FM "RSPO_WRITE_SPOOLREQUEST" using WA_ITAB1.
endif.
Hope this will help. -
How to convert HTML files to PDF files.
Hi,
I have an urgent requirement explained below:
I need to convert my HTML files to PDF file from JAVA program.
Please help me with your suggestions.
Your help is highly appreciated.
Thanks &Regards
RamavardhanTry FOP and XSL style sheets. Although RPWithey is
correct that there is nothing to magically change a
viewable HTML file to PDF you can convert a single
HTML file to XML and use FOP to create a PDF. You will
need to manage the transition though.
If you want to change a random HTML file into PDF
dynamically this would take quite a bit more work. You
might be able to use JTidy to convert the HTML to XML
and then FOP to get to PDF but it will likely not be
formatted the way you wish.That's true - FOP does do that, doesn't it. It must have to make certain assumptions about the appearance of the output. If the output from the stylesheet is an HTML file, you might be able to bypass that bit altogether. I haven't really looked at FOP, although I've read the overview. Check it out at http://xml.apache.org/fop/index.html.
RObin -
Converting html data to MsWord file using java code
hi,
Can any one suggest me how to convert html to ms word ?.
I found many tools when i searched thru google but i need API to do
this.
Thanks in advance.
regards,
chakrihttp://jakarta.apache.org/poi/
http://groups.yahoo.com/group/jacob-project/ -
How to convert raw data into pdf ?
Hi everyone,
I have a requirement where I have to print the document present in application server.
I used below code to do this
* Open the file in binary mode
OPEN DATASET gv_filepath FOR INPUT IN TEXT MODE ENCODING DEFAULT IGNORING CONVERSION ERRORS.
DO.
TRY.
* Since the file is opened in Binary mode, the entire contents of the
* file is read in one go!
READ DATASET gv_filepath INTO gv_filedata.
IF sy-subrc <> 0.
EXIT.
ENDIF.
CATCH cx_sy_conversion_codepage.
ENDTRY.
APPEND gv_filedata TO gt_file_table.
CLEAR gv_filedata.
ENDDO.
CLOSE DATASET gv_filepath.
DESCRIBE TABLE gt_file_table LINES lv_lines.
lv_pages = lv_lines.
lv_dest = 'LP01'.
lv_spoolname = 'LOCW'.
CALL FUNCTION 'RSPO_SX_OUTPUT_TEXTDATA'
EXPORTING
* NAME = lv_spoolname
DEST = lv_dest
ROWS = lv_lines
STARTROW = 1
PAGES = 99
RQTITLE = 'Print Spool'
RQCOPIES = 1
RQOWNER = sy-uname
IMMEDIATELY = ' '
IMPORTING
RQID = lv_spoolid
TABLES
TEXT_DATA = gt_file_table
EXCEPTIONS
NAME_MISSING = 1
NAME_TWICE = 2
NOT_FOUND = 3
ILLEGAL_LAYOUT = 4
INTERNAL_ERROR = 5
SIZE_MISMATCH = 6
OTHERS = 7.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
Passed the spool id generated to below FM but it is not converting into pdf
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
SRC_SPOOLID = lv_spoolid
NO_DIALOG = ' '
DST_DEVICE = 'LOCW'
PDF_DESTINATION = 'X'
* NO_BACKGROUND =
* GET_SIZE_FROM_FORMAT =
* USE_CASCADING = ' '
* IMPORTING
* PDF_BYTECOUNT = lv_bytecount
* PDF_SPOOLID = lv_pdf1
* LIST_PAGECOUNT =
* BTC_JOBNAME =
* BTC_JOBCOUNT =
* BIN_FILE = lv_pdf
TABLES
PDF = lt_pdf
EXCEPTIONS
ERR_NO_ABAP_SPOOLJOB = 1
ERR_NO_SPOOLJOB = 2
ERR_NO_PERMISSION = 3
ERR_CONV_NOT_POSSIBLE = 4
ERR_BAD_DESTDEVICE = 5
USER_CANCELLED = 6
ERR_SPOOLERROR = 7
ERR_TEMSEERROR = 8
ERR_BTCJOB_OPEN_FAILED = 9
ERR_BTCJOB_SUBMIT_FAILED = 10
ERR_BTCJOB_CLOSE_FAILED = 11
OTHERS = 12
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
When I go to SP01 and check the spool generated it is in raw document type.
How can I convert this raw document to pdf type ??
Please help me to resolve this.
Regards,
KrishnaOk, since I can't edit the post anymore, here the new version of code, without the use of SCMS_XSTRING_TO_BINARY for intermediate table. Reasons: effectively doubles the memory use and I don't want to check if the kernel is cutting off the hexdecimal nulls when the last spool line is written, or to relay of that behaviour.
Matthew Billingham, and other mods: it would be really nice if you could hide the old version please (this post here). The number of google results for that FM is scary and I really don't want to contribute to promoting its use...
REPORT zjbtst2.
PARAMETERS: p_file TYPE string
LOWER CASE
DEFAULT '/usr/sap/....'
OBLIGATORY.
PARAMETERS: p_dest TYPE rspopname
DEFAULT 'LP01'
OBLIGATORY .
PERFORM main USING p_file p_dest.
*& Form main
FORM main
USING
i_file TYPE string
i_dest TYPE rspopname.
DATA: lo_handle TYPE REF TO cl_rspo_spool_handle .
DATA: l_spoolid TYPE rspoid.
DATA: l_content TYPE xstring .
DATA: l_message_text TYPE string .
PERFORM get_file USING i_file CHANGING l_content .
PERFORM new_spool USING i_dest CHANGING lo_handle l_spoolid.
PERFORM write_spool USING lo_handle l_spoolid l_content .
l_message_text = |Spool { l_spoolid } created| .
MESSAGE l_message_text TYPE 'I' .
ENDFORM . "main
*& Form get_file
FORM get_file
USING i_file TYPE string
CHANGING c_content TYPE xstring.
DATA: l_message_text TYPE string .
CLEAR c_content .
OPEN DATASET i_file FOR INPUT IN BINARY MODE
MESSAGE l_message_text.
IF sy-subrc NE 0 .
MESSAGE l_message_text TYPE 'E' .
ELSE.
READ DATASET i_file INTO c_content .
CLOSE DATASET i_file.
ENDIF .
ENDFORM . "get_file
*& Form new_spool
FORM new_spool
USING
i_destination TYPE rspopname
CHANGING
co_handle TYPE REF TO cl_rspo_spool_handle
c_spoolid TYPE rspoid .
cl_rspo_spool_handle=>open(
EXPORTING
dest = i_destination
name = 'Test'
layout = 'G_RAW'
doctype = 'BIN'
IMPORTING
ref = co_handle
spoolid = c_spoolid
EXCEPTIONS
device_missing = 1
name_twice = 2
no_such_device = 3
operation_failed = 4
OTHERS = 5
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM . "new_spool
*& Form WRITE_SPOOL
FORM write_spool
USING
io_handle TYPE REF TO cl_rspo_spool_handle
i_spoolid TYPE rspoid
i_content TYPE xstring .
DATA: l_buffer(128) TYPE x ."Hmm, 128 does work, 4096 doesn't...
DATA: l_buffer_length TYPE i .
DATA: l_full_buffers_count TYPE i .
DATA: l_part_buffer_length TYPE i .
DATA: l_offset TYPE i .
DATA: l_length TYPE i .
l_buffer_length = xstrlen( l_buffer ) .
l_full_buffers_count = xstrlen( i_content ) DIV l_buffer_length .
l_part_buffer_length = xstrlen( i_content ) MOD l_buffer_length .
DO l_full_buffers_count + 1 TIMES .
IF sy-index LE l_full_buffers_count .
l_length = l_buffer_length .
ELSEIF l_part_buffer_length GT 0 .
l_length = l_part_buffer_length .
ELSE.
EXIT .
ENDIF .
l_buffer = i_content+l_offset(l_length) .
ADD l_length TO l_offset .
io_handle->write_binary(
EXPORTING
data = l_buffer
length = l_length
EXCEPTIONS
not_open = 1
operation_failed = 2
OTHERS = 3
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDDO .
io_handle->close(
EXPORTING
final = 'X'
EXCEPTIONS
operation_failed = 1
already_closed = 2
OTHERS = 3
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM . "write_spool
Maybe you are looking for
-
My iPod's songs were all deleted. They're all still on iTunes, however, and every time I try to update them back on I get the message "Songs on the iPod 'murf' cannot be updated because the playlists selected for updating no longer exist." There are
-
Extract Clips from already burned DVD?
My mom is sending me a DVD that she has just created from a VHS tape. I would love to add some clips from that DVD into the project that I am making now in iMovie. Any idea how I can extract maybe 10-20 second clips at a time from this DVD and bring
-
Problem to connect between Oracle 10g xe and VB2010 at Vista sp2
Introduction Hi guys, good day... NEED RESCUE!! SOS!! Hmm.. i have trouble been 1 weeks trying connect between Oracle 10g xe and VB2010 on window vista sp2. Actaully im very new at Oracle 10g xe and VB2010 but i got a project is going to build up sys
-
IPad Mini - Printing issues via AirPrint
We have two iPad minis at home, we have a Air Print compatible HP 3525 e-All-in-One.. Both the iPad minis are the same generation using the same iOS version 7.0.6 From one iPad mini I can print on the above airprint from the Notes app. However, from
-
Photo titles are invisible to Spotlight
For some reason when I do a Spotlight search using an iPhoto title, I don't get any results. I get search results if I use the photo's file name and sometimes even words included in the description, but never using the title. I already tried reindexi