Dispay rtf

How to display rtf file in java.I used JEditiorPane.. But image and table in the rtf file not displaying..Java support .mht(web archive file)?

saving image...
ImageIcon icon=(ImageIcon)StyleConstants.getIcon(attr);
if (icon!=null) {
int w=StyleConstants.getIcon(attr).getIconWidth();
int h=StyleConstants.getIcon(attr).getIconHeight();
ByteArrayOutputStream os=new ByteArrayOutputStream();
PNGCodec p=new PNGCodec();
ImageEncoder pe=p.createImageEncoder("PNG",os,null);
BufferedImage bi=new BufferedImage(w,h,BufferedImage.TYPE_INT_RGB);
bi.getGraphics().drawImage(icon.getImage(),0,0,null);
pe.encode(bi);
byte[] ba=os.toByteArray();
int len=ba.length,i;
StringBuffer sb=new StringBuffer(len*2);
for (i=0;i<len;i++) {
String sByte=Integer.toHexString((int)ba[i] & 0xFF);
if (sByte.length()<2)
sb.append('0'+sByte);
else
sb.append(sByte);
String s=sb.toString();
out.write("{\\pict\\pngblip ");
out.write(s);
out.write("}");
extracting image
String content; //<- image representation
int len=content.length();
//converts to binary representation
byte[] buf=new byte[len/2];
for (int j=0; j<len/2 ;j++) {
String c1=content.substring(j*2,j*2+1);
String c2=content.substring(j*2+1,j*2+2);
byte b1=Byte.parseByte(c1,16);
byte b2=Byte.parseByte(c2,16);
buf[j]=(byte)(b1*16+b2);
//creates image from binary
Image img = Toolkit.getDefaultToolkit().createImage(buf);
ImageIcon icon=new ImageIcon();
icon.setImage(img);
if ((icon.getIconHeight()<0) || (icon.getIconWidth()<0))
return;
MutableAttributeSet attr=new SimpleAttributeSet();
StyleConstants.setIcon(attr,icon);
//inserts image in the document
document.insertString(currentOffset," ",attr);
currentOffset++;
best regards
Stas

Similar Messages

  • And/or if statement in rtf templates.

    Hi all,
    I'm using XML Publisher 4.5.
    I have created a word template file (rtf) for my reports. I need to be able to show some content in the template file by using and and/or if statement.
    fx. <?if:doc_type='STANDARD'?> OR <?if:doc_type='DEFAULT'?>
    How can I do this?
    In advance thank you.
    Best regards
    Kenneth

    Hi D,
    Thank you for your answer.
    I have seriously thought about that solution; but I don't think it's a smart way to do it.
    If i do it like that, i need to copy the whole table and paste it inside the if statements.
    I have two xml elements that I need to make the decisions on. POH_PO_TYPE & CP_RELEASE_NUM.
    POH_PO_TYPE can be: STANDARD, RELEASE or BLANKET.
    CP_RELEASE_NUM can be: '' or N
    If POH_PO_TYPE is RELEASE AND CP_RELEASE_NUM is not ''
    OR POH_PO_TYPE is STANDARD
    OR POH_PO_TYPE is BLANKET AND CP_RELEASE_NUM is ''
    THEN show table (which contains the whole PO).
    It shall show the content of the PO in any of these cases.
    BR Kenneth

  • View the .rtf file not display the data in BI Publisher Enterprise.

    Hi,
    Platform: OBIEE 10g in NT XPsp2
    View the .rtf file not display the data in BI Publisher Enterprise.
    Step 1, I created Answer-request, create .rtf file with Word and add the request name, Add bar chart and table, preview PDF is working fine with data, Upload this template to Answers, View Template from Answer is working fine with data.
    Step 2, Answers – More Products > BI Publisher > My Folders > Create a new report > Edit > Data Model > New > Type: SQL Query > Data Source: Oracle BI EE > Query Builder > from SupplierSales assign Customer, Periods, Sales Facts (select Region, state, Year, Units Shipped) > Results > Save > Save
    Click Layouts > New > enter Name ….. > Click Layouts > borrows .rtf file in Manage T file > Upload > Save > Click View
    It is showing only the .rtf file without data. Why there is no data?
    Please guide me to solve this issue.
    Thanks,
    Jo

    Thanks for you reply,
    Our scenario is this report is basically a dissconnected mode report... we are developing these reports for mobile clients.
    We dint face this kind of issue while developing other reports.
    So please let us know if you have any idea on why we are facing this issue.
    Regards,
    Maneesh

  • How to round numbers in RTF templates?

    Hello!
    I'm using BI Publisher for Word (Oracle BI Publisher Builder for Word 10.1.3.4.1) to build a template to my BI Publisher report and I want to calculate this:
    avg(X)/(avg(Y)-avg(Z)/0.9)
    The result should be rounded to 3 places.
    I tried:
    <?(sum(X) div count(X)) div ((sum(Y) div count(Y)) - (sum(Z) div count(Z)) div 0.9)?>
    and I obtained the expected result.
    But, when I try to round in this way:
    <?xdofx:round((sum(X) div count(X)) div ((sum(Y) div count(Y))-(sum(Z) div count(Z)) div 0.9),3)?>
    I obtain 0 when is expected other value.
    Can someone help me?

    Hi ,
    You can select the number format in RTF template .Double click the Form Field select
    Type :Number
    Number Format :#,##0.000
    Thanks.

  • Relative path for images in RTF templates

    Hi everybody!
    When I insert an image in a RTF template, I put its path into the web dialog, in order to see correctly the picture when I open the report from the xmlp server, in this way: url:{"http://servername/analytics/res/Images/image.bmp"}
    How can I make this path relative, in order to see the images even if the server name changes?
    Thanks so!
    Francesco

    Hi Tim,
    I am using BIP 10.1.3.3.2. I am able to access system variable CURRENT_SERVER URL.
    Steps:
    <?param@begin:CURRENT_SERVER_URL?>
    <xsl:value-of select="$ CURRENT_SERVER_URL"/>
    CURRENT_SERVER_URL is getting printed in BI Publisher. Value displayed is http://xx4697.xxx.co.in:9704/xmlpserver.
    Now we are importing xsl into RTF template. File aaa.xsl is stored at [BIP_Installation_Directory\oc4j_bi\j2ee\home\default-web-app]
    We have hardcoded the path for XSL in RTF. The path is <?import: http://xx4697.xxx.co.in:9704/aaa.xsl?>
    As we want to set dynamic path we changed hardcoded xsl path to <?import: {$CURRENT_SERVER_URL}/../aaa.xsl?> but it is not working. Sometimes BIP is taking local path of MyDocuments folder and sometimes Desktop path. If I put that XSL file in MyDocuments folder or Desktop, it is working fine. But ideally it should refer [BIP_Installation_Directory\oc4j_bi\j2ee\home\default-web-app] path...
    Thanks,
    Amit D

  • Help with math / calculations in RTF templates

    Greetings,
    I know that there are math capabilities in the templates... I've seen the code samples in the Core Components guide.
    What this doesn't tell you is WHERE these things would go in a template. And... that... is my question.
    We are just starting to use BIP in conjunction with JDE EnterpriseOne (8.12, tool set 8.97.12). For our first attempt we're creating our template over a new report.
    I have a template where I sum two different repeating values (through the normal BI Properties) and place these values in two separate cells in a table. I want to sum the two of these together for a "grand" total.
    I've seen the "examples" but they really aren't very helpful. The xsfo, etc. for doing addition is fine, but WHAT are the values to add and WHERE does the code go?
    If anyone has done something like this or has experience using the embedded code I would appreciate hearing from you.
    Thanks in advance

    I see what you are saying about the spaces... but it made no difference... still got the error.
    The XML file is too large and convoluted to be pasted here.
    With reqards to the following snippet:
    COLA = <?sum(current-group()/COLA)?>
    COLB = <?sum(current-group()/COLB)?>
    Summ== <?sum(current-group()/COLA) + sum(current-group()/COLB)?>
    Where does THIS code go?
    Here is the error detail:
    ConfFile: C:\Program Files\Oracle\BI Publisher\BI Publisher Desktop\Template Builder for Word\config\xdoconfig.xml
    Font Dir: C:\Program Files\Oracle\BI Publisher\BI Publisher Desktop\Template Builder for Word\fonts
    Run XDO Start
    Template: C:\Documents and Settings\jdenison\My Documents\BIP Templates\R5642001\R5642001_TEMPLsave.rtf
    RTFProcessor setLocale: en-us
    FOProcessor setData: C:\Documents and Settings\jdenison\My Documents\BIP Templates\R5642001\R5642001_RICE0001_D081029_T144059683.xml
    FOProcessor setLocale: en-us
    java.lang.reflect.InvocationTargetException
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at oracle.apps.xdo.common.xml.XSLT10gR1.invokeProcessXSL(Unknown Source)
         at oracle.apps.xdo.common.xml.XSLT10gR1.transform(Unknown Source)
         at oracle.apps.xdo.common.xml.XSLT10gR1.transform(Unknown Source)
         at oracle.apps.xdo.common.xml.XSLTWrapper.transform(Unknown Source)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
         at oracle.apps.xdo.template.FOProcessor.createFO(Unknown Source)
         at oracle.apps.xdo.template.FOProcessor.generate(Unknown Source)
         at RTF2PDF.runRTFto(RTF2PDF.java:629)
         at RTF2PDF.runXDO(RTF2PDF.java:439)
         at RTF2PDF.main(RTF2PDF.java:289)
    Caused by: oracle.xdo.parser.v2.XPathException: Extension function error: Method not found 'sum'
         at oracle.xdo.parser.v2.XSLStylesheet.flushErrors(XSLStylesheet.java:1534)
         at oracle.xdo.parser.v2.XSLStylesheet.execute(XSLStylesheet.java:521)
         at oracle.xdo.parser.v2.XSLStylesheet.execute(XSLStylesheet.java:489)
         at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:271)
         at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:155)
         at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:192)
         ... 15 more

  • Resetting Header and Footer in RTF templates

    Hi,
    I developed an RTF template (template 1). This template contains start:body and end body for printing the header and footer in all pages. After printing this template then i have to call another template(template 2) from this. I called the template (template 2) using call statement. But the probelm is that the header and footer of template1 is printed in the output of template2 .
    I dont want to print this header and footer for template 2. Can anyone please suggest me in doing this. I placed start:body and end body in the second template with the assumption that 1st template's header and footer will be overwritten. But if i preview then am getting the error
    Font Dir: C:\Program Files\Oracle\XML Publisher Desktop\Template Builder for Word\fonts
    Run XDO Start
    RTFProcessor setLocale: en-us
    FOProcessor setData: C:\Documents and Settings\kpoda\Desktop\Invoice Printing Efficiencies\Sample XML Data\Sample Output4.xml
    FOProcessor setLocale: en-us
    each
    Please sugget.
    Thanks

    Hi,
    Do you have two templates (template1 & template2) that you want to display in the same document where the pages for template1 has one set of header and footers; and template2 has another set of header and footer?
    If that is the case you can simply create a new section in your rtf template so you have section1 and section2.
    In the body of section1 you call template1 and template2 in the body of section2.
    You can then have different header and footers for the two templates in the same document.
    BR Kenneth

  • IF Condition in RTF Help text

    Hi,
    I have RTF template which contains the field to display the column name. Below are my help text.
    COLUMN1 is my XML tag and displaying AQUA color in my excel output.
    <?COLUMN1?><xsl:attribute xdofo:ctx="block" name="background-color">Aqua</xsl:attribute>From above scenario, i need to add one more condition if there is no value in my XML tag then don't display the field in my excel output. For example. I have COLUMN1 and COLUMN2 XML Tag. Only COLUMN1 contains the value but COLUMN2 not. In my excel output the COLUMN2 value should not display.
    Thanks

    Please see if (How to make condition using XML tags to check NULL values in XML Publisher templates? [ID 414022.1]) helps.
    Also, see XML Publisher Guide which can be accessed via http://www.oracle.com/technetwork/documentation/applications-167706.html
    Thanks,
    Hussein

  • Multiple condtions in a single if Statement in .rtf templete of Bi Publishe

    Hi ,
    I want to use a single if statement with multiple condition .
    For Example : If :Parameter1=10 and Parameter2=10 and Parameter3=30
    then < ' mseesge '>
    end if ;
    Any body Please suggest me how can i do it in the .rtf .
    Thanks,
    Mike .
    Edited by: user3449250 on Feb 27, 2009 7:53 AM

    Hi Mike,
    for example
    <?if:JOB='MANAGER' and ENAME='JONES'?> XXX <?end if?>
    Regards
    Rainer

  • Error: If statement in RTF template in BI Buplisher

    All,
    Can some help me to solve the below issue. Please find the code below one which is extracted from the water mark block in RTF template.
    <?if:(sum(//g_data[fiscal_period=/asset/p_fiscal_period]/q2_op_plan_ytd))>0?><?( sum(//g_data[fiscal_period=/asset/p_fiscal_period and q1_task_top="Opex"]/q1_cost_plan_ytd) ) div
    *(sum(//g_data[fiscal_period=/asset/p_fiscal_period]/q2_op_plan_ytd) ) ?><?end if?>*
    I wanted to apply if condition to the code after the " div " as if I get any value for q2_op_plan_ytd as zero the it should replace with 1.
    Please help me on this

    Solution found.

  • Complex if statement in rtf template?

    Hello,
    I want to build an if statement in rtf template, the idea is like:
    <?if:address!='' and phone!=''?>
    <?end if?>
    what's the correct way to do it if it is possible? Thanks in advance!
    Shichao

    stevencallan wrote:
    Conditional statements, in the user guide or the report developer guide, depending on the version you use.
    Page 7-62 in the 10.1.3.2 user guide:
    Use an if statement to define a simple condition; for example, if a data field is a specific value.
    1. Insert the following syntax to designate the beginning of the conditional area.
    <?if:condition?>
    2. Insert the following syntax at the end of the conditional area: <?end if?>.
    For example, to set up the Payables Invoice Register to display invoices only when the Supplier name is "Company A", insert the syntax <?if:VENDOR_NAME='COMPANYA'?> before the Supplier field on the template.
    Enter the <?end if?> tag after the invoices table.Thanks for the reply. But what about two conditions in one if statement? That was my question. :)
    Shichao

  • How to call a rtf template from another rtf template by passing a value

    Hi Gurus,
    Its about calling a rtf template from another rtf template by passing a value.
    My requirement is like:
    I got a quote report from Siebel, based on the product PartNumber I need to pull product description or literature from another database database.
    My approach is something like; get a partnumber from quote report pass it to another rtf template which uses the partnumber and get the data from table using DataSource. When user pull a quote report from siebel this new rtf template should attach to the quote at the end.
    I've gone through all available blogs about sub-reports and white papers from Oracle they are not much helpful since I need step-by-step.
    http://www.adivaconsulting.com/adiva-blog/item/36-working-with-rtf-sub-templates.html
    bip-subtemplate-1-132933.pdf
    I'm using 10g obiee integrated with Siebel.
    Just started learning BIP.
    Thanks in advance.
    Edited by: 911927 on Apr 2, 2013 8:56 AM
    Edited by: 911927 on Apr 2, 2013 8:57 AM

    How to call a rtf template from another rtf template by passing a value try in main template create hyperlink of url with parameters for another template
    http://bipconsulting.blogspot.ru/2010/02/drill-down-to-detail-or-another-report.html
    When user pull a quote report from siebel this new rtf template should attach to the quote at the end.it'll be only another report
    IMHO you can not attach it to main. it'll be second independent report
    you can try subtemplate but it's not about rtf from rtf by click
    it's about call automatically rtf subtemplate from main rtf based on some conditions
    for example, main template contain some data and if some condition is true then call subtemplate and place it instead of its condition

  • Print Quote the report is in PDF but need to be new RTF template

    We have 11.5.10 apps, the Quote screen is an OAF screen.
    When clicking Print Quote the report is in PDF, They want to include a new RTF template for printing instead of PDF.
    The new RTF template is created. But what I do not know is how the quote screen will take the new template. I can use XMLP to upload the RTF template but that may not be sufficient to make it appear in the Quote screen.
    I am looking at the profile ASO:Default Layout Template. Am I headed the right way?

    Hi,
    Please refer to the following documents, it should be helpful.
    Note: 780722.1 - How to Create a Custom Print Quote Template in Oracle Quoting ?
    https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=780722.1
    Note: 392728.1 - How to Modify the data source for the XML version of the Print Quote report
    https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=392728.1
    Note: 468982.1 - How To Customize The Asoprint.Xsl
    https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=468982.1
    Regards,
    Hussein

  • Report - RTF layout issue

    Hi,
    I have done customization in Quote Print report using Reports 6i. I get the output appropriately if i select PDF format. But in RTF format, the last line of each page is not/partially displayed. Also the last character of each line is getting cut-off if it spans across entire line,(because the field/frame border line is overwriting the last character).
    Please post your suggestions here on resolving the above issue.
    Thanks.
    Regards,
    Ajith Gopinath

    Play with changing your frames to have horizontal/vertical elasticity of variable. There is also a Metalink note that talks about some boilerplate being truncated (not sure if that applies to you). The note is 433464.1. It says to do that following:
    1. Set the environment variable: REPORTS_ENABLE_RTF_SPACING=YES
    2. From Reports Builder, for the text field giving the problem, go to Layout menu Format -> Text Spacing -> Custom -> Other = 1 pts.
    Both steps must be performed.
    The environment variable would also have to be done on the server you are deploying reports to.

  • To upload a RTF and a PDF file to SAP R/3 and print the same through SAP

    Hi,
    I have a requirement to upload a PDF file and a RTF file to SAP R/3 and print the same.
    I wrote the following code for uploading a RTF file to SAP R/3 and print the same. However, the problem is , the formatting present in the RTF document( bold/italics..etc) is not being reflected when I do the 'print-preview' after the executing the code below :
    report z_test_upload .
    data: begin of itab occurs 0,
             rec type string,
          end of itab.
    data: options like itcpo.
    data: filename type string,
          count type i.
    data: filetype(10) type c value 'ASC'.
    DATA: HEADER  LIKE THEAD    OCCURS   0 WITH HEADER LINE.
    DATA: NEWHEADER  LIKE THEAD    OCCURS   0 WITH HEADER LINE.
    DATA: ITFLINE LIKE TLINE    OCCURS   0 WITH HEADER LINE.
    DATA: RTFLINE LIKE HELP_STFA OCCURS   0 WITH HEADER LINE.
    DATA:   string_len TYPE i,
            n1 TYPE i.
    selection-screen begin of block b1.
      parameter: p_file1(128) default 'C:\test_itf.rtf'.
    selection-screen end of block b1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file1.
      CALL FUNCTION 'F4_FILENAME'
           IMPORTING
                file_name = p_file1.
    start-of-selection.
    move p_file1 to filename.
    call function 'GUI_UPLOAD'
         EXPORTING
              filename                = filename
              filetype                = filetype
         TABLES
              data_tab                = itab
         EXCEPTIONS
              file_open_error         = 1
              file_read_error         = 2
              no_batch                = 3
              gui_refuse_filetransfer = 4
              invalid_type            = 5
              no_authority            = 6
              unknown_error           = 7
              bad_data_format         = 8
              header_not_allowed      = 9
              separator_not_allowed   = 10
              header_too_long         = 11
              unknown_dp_error        = 12
              access_denied           = 13
              dp_out_of_memory        = 14
              disk_full               = 15
              dp_timeout              = 16
              others                  = 17.
    if sy-subrc <> 0.
      message id sy-msgid type sy-msgty number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    endif.
    loop at itab.
      string_len = strlen( itab-rec ).
      n1 = string_len DIV 134.
      ADD 1 TO n1.
      DO n1 TIMES.
        rtfline-line = itab-rec.
        APPEND rtfline.
        SHIFT itab-rec BY 134 PLACES.
      ENDDO.
    endloop.
    HEADER-TDSTYLE = 'S_DOCUS1'.
    HEADER-TDFORM = 'S_DOCU_SHOW'.
    header-tdspras = 'E'.
    CALL FUNCTION 'CONVERT_TEXT'
      EXPORTING
      CODEPAGE               = '0000'
        DIRECTION              = 'IMPORT'
        FORMAT_TYPE            = 'RTF'
       FORMATWIDTH            = 72
        HEADER                 = header
        SSHEET                 = 'WINHELP.DOT'
        WITH_TAB               = 'X'
        WORD_LANGU             = SY-LANGU
        TABLETYPE              = 'ASC'
      TAB_SUBSTITUTE         = 'X09  '
      LF_SUBSTITUTE          = ' '
      REPLACE_SYMBOLS        = 'X'
      REPLACE_SAPCHARS       = 'X'
      MASK_BRACKETS          = 'X'
      IMPORTING
        NEWHEADER              = NEWHEADER
      WITH_TAB_E             =
      FORMATWIDTH_E          =
      TABLES
        FOREIGN                = RTFLINE
        ITF_LINES              = ITFLINE.
      LINKS_TO_CONVERT       =
    if sy-subrc <> 0.
    endif.
    CALL FUNCTION 'PRINT_TEXT_ITF'
      EXPORTING
         HEADER        = newheader
         OPTIONS       = options
    IMPORTING
      RESULT        =
      TABLES
        LINES         = itfline.
    if sy-subrc <> 0.
    endif.
    Any hints or suggestions to solve this problem will be highly appreciated.
    Thanks,
    Avra

    Hi Vishwas,
    Check out the thread [Efficient way of saving documents uploaded|Re: Efficient way of saving documents uploaded by users; and check the blog by Raja Thangamani.
    Also check the thread [Export Images through Function Modules   |Export Images through Function Modules;.
    Hope it helps you.

Maybe you are looking for

  • How to delete the delta queue in the ECC

    Hi everyone! After I tryed to save a new Infopackage and I have the error : (Deltas already loaded for request REQU_41Q82WJLR9AZCE9ZMKQLVG3RG init. selection; no 2. init Message no. RSM1071 Diagnosis Deltas have already been loaded for the init. sele

  • Error while building gobject introspection with Jhbuild.

    I am trying to build gobject introspectio with jhbuild and I am getting the following error. *** Checking out gobject-introspection *** [1/1] git remote set-url origin https://git.gnome.org/browse/gobject-introspection git remote update origin Fetchi

  • In design wont launch

    My in design wont launch it wouldn't update before I have uninstalled and re installed several times it fails to launch now my dream weaver won't launch the only products that work from the cloud is my Photoshop, bridge, and illustrator. Plus I canno

  • Oracle BI Publisher on Solaris

    Hi Just wondered if anyone has been able to install Oracle BI Publisher on Solaris? I couldn't find a binary for it. Thx Kezie

  • Total incorrect when trying to summarize using a variable

    I have a report with two subreports that summarize labor cost and material cost.  I need to return the material cost total to the main report so I created a shared variable.  The correct value is returned each time I display this variable in the main