Word document/mail merge with values from Reports

Hi All gurus
Using apex 4.1.1 , linux , 11gr2
Basically I have requirement to generate a Word doc (letter to a Word mail merge) from a button/navigation link pressed on Apex page which will gather data from the report and fill in values in appropriate place in Word doc.
Is this even possible with Apex with/o BI Publisher
I have Fop installed and tested , PDF works great but excel and RTF is not reading the encoding on attachment download.
Any help gratefully appreciated as always !
PS I am aware of new PDF feature in 4.2.2 but upgrade is just not the scope right now.
Thanks

Hi, Tony:
I am working with Hunk09 on this problem. I checked the demos of this PL/SQL lib, it looks powerful, yet we need a short time solution considering our schedule, as our request is just to insert some values into a static RTF document so user can print letters in batch by clicking link and downloading RTF file. I noticed our legacy system is using owa_util.mime_header following with htp.p to produce file, does APEx support this still? Also you have any hint about providing download link in APEX?
Thanks.
Sam
Edited by: lxiscas on May 8, 2013 2:59 PM

Similar Messages

  • Do mail merge with group from address book or other file?

    Is there a way to have Mail do a merge with a spreadsheet, a Filemaker file or the Address Book ( a group) so that every email looks personalized? Dear <name>,
    blah, blah, blah
    I need to send out an email to about 150 faculty and staff. Messages sent to a list often get ignored or deleted unread. I need these to be read.
    Thx
    G5 Dual 2.7 GHz   Mac OS X (10.4.7)  

    What is the exact message you get when sending fails -- does it say there are one or more invalid addresses, or what?
    Having a name in the list without email address or possibly one separated by comma between last and first might result similarly in an invalid address, and Mail will likely refuse to send to any. But if the message is from the SMTP, that might depend on the provider's policies for that.
    Ernie

  • E-mail merge with Word and Outlook problem

    I'm trying to do an e-mail merge with Office 2011: Word, Excel, and Outlook.
    Before you start typing, I've already searched the web, searched the Apple forums, and posted to the Microsoft forum, with no success.
    Anyway: I have outlook configured to send and receive mail from a single Gmail account.
    Outlook works otherwise to send and receive mail.
    Outlook is set, in both Mail and Outlook, to be the default e-mail program.
    Everything seems to work fine until the final step, clicking the generate e-mail merge button that should send the mail merge to Outlook. The mail merge emails are supposed to appear in Outlook, but they don't.
    If you have figured out how to do this, please let me know.
    I would prefer to do this with Mail and Numbers, or Excel and Mail, but that functionality does not exist. I'm sure it would probably work if it did.
    I have a standalone mail merge app (MaxBulk Mailer) but I'd prefer to use the database I already have, which is in Excel, rather than have to create two databases, one in Excel, and another in MaxBulk. MaxBulk has some other problems as well and is not a great solution. 
    Thanks.

    Not sure if this is entirely the same issue but.... we just saw a very similar issue resolved here by my recommending that one of our mail merge-using faculty run the Outlook 2011 database rebuild utility (holding down option while starting Outlook 2011 for OSX).  Mail Merging from Excel 2011 mailing lists to Outlook 2011 starting working like a charm after that.
    The differences with our setup were that we were sending a mail merge via an Exchange Server, not GMail, and that this issue started after upgrading from 10.6 to 10.9 via the App Store.  Mail Merging had been working fine in 10.6.
    Worth a try?  Guard your backups and good luck!

  • How to best take sections from one document to merge with another Indesign document

    I am looking for most efficient way to take a section from one document to merge with a section from another document?  We have a book that needs updating, taking a section from one document to merge into another.  We have typically copied and paste each page, but there are 20+ pages involved.  Does anyone have a better way?

    Open both documents.
    With source document active, In pages panel, select pages that are to be copied to the destination document
    Right Click (or use panel menu) and select Move Pages ...
    Double check that correct page range is noted
    Select destination document
    select where in document pages should appear (beginning, end, after or before page X)

  • How do i mail merge with the new Pages and Numbers?

    How do I mail merge with the new Pages and Numbers?
    On Pages 09 I have a document that draws variable data from a spreadsheet created in Numbers.
    With the new Pages and Numbers program update, my links are lost and I am unable to see how to correct this.

    Thanks Peter,
    very disappointing.
    My Pages 09 keeps opening in the new one.
    I dont think they want me to be a loyal customer anymore.
    They changed Final Cut Pro, so now I use Premier Pro
    Aperture 3 has been left behind so now I moved to Lightroom 4.
    And now Pages 5 does not have a vital component, so back to Word.
    Sad day
    Thanks again

  • Does anyone know the best way to create a form that you can do a mail merge with?

    I have been asked to create a form that can be used to do a mail merge. At first I thought I could create it in indesign and then pdf the file and do form fields right in the pdf, but I'm not sure if you can do a mail merge with data in an excel file and a pdf file containing form fields.
    The other option I know I could use is a Word file and excel, but I don't think the functionality is as good as in a pdf (like addition of percentages, or error messages, radio buttons, etc.). And I do need to be able to do a mail merge. Anybody have any suggestions?

    There is not built-in feature for this, but it can be done with scripting. The problem is it can be a bit complicated, and it more complicated to decribe in much detail in a forum posting. It involves creating the base form and making the pages templates. You can export from Excel to a tab delimited text file. You can then either programmatically create a template-based FDF that when loaded into Acrobat populates the PDF form, creating as many individual forms as needed, or using JavaScript in Acrobat to read the data file and generate as many individual forms as needed. Both approaches involve a similar amount of programming, but they're quite different.
    You might want to look into this product, which apparently is no longer available but may be come back soon: http://www.debenu.com/products/eol/arts-pdf-variform-lite/

  • Retruning parameter/value from report to form - (Urgent)

    Hi ,
    I am calling a report (2.5) from a form using RUN_PRODUCT. I would like to know if there is any way to do the following.
    (a) Return a value from reports to calling form. For ex. I would like to know the last Item name (assuming the reports prints all items in inventory) printed. I am sending a from and to numbers of item id's (range) and I need to know the last item printed.
    (b). Check the success of report. For example, while printing the 5 items (the range that I passed) if there is any error in printing , this should be tracked either in the form or report. If this is not possible using run_product , If I need to use srw package, how to use it. Can I call the report as usual with run_product and in the after parameter trigger can, I call the report again and track error.
    Any help will be appreciated.
    Thanks

    Please repost your question in the reports forum

  • How to pass value from report to form?

    Dear,
    I built a report and I create button on report too. This
    button will show a form that I want it to automatically show
    receivable values from report so that user don't complete them.
    So I create a button on the report . I enter Javascript in
    PL/SQL Code tab in '...after displaying the footer' as follow :
    htp.formOpen
    (owa_util.get_owa_service_path||'portal30.wwa_app_module.link?
    p_arg_names=_moduleid&p_arg_values=1736929105&p_arg_names=_show_h
    eader&p_arg_values=YES&p_arg_names=GNO&p_arg_values=1&p_arg_names
    =QNO&p_arg_values=2');
    htp.formSubmit(null,'New Answer');
    htp.formClose;
    GNO , QNO is value which I want to pass
    As you can see, the above code can pass only static value.
    But I want to pass values that is the condition of this report.
    I mean,such as, this report show data that gno=1 and qno=2 and I
    want to pass these values to form. So both value will appear in
    gno and qno field.
    So please tell me what should I do. Please help me. I don't
    know how to do it. I look forward to hearing from all of you.
    Please!!!!!! Don't hesitate to answer.
                        Thank you very much
                   Sirin Kittichotpanich

    Hi Marc,
    Yes, you have it correct in what I am trying to do and if I put a default value in the hidden item on page 2 and run it then that works fine. I just can't get the value from the form passed to page 2 for some reason. There are actually 22 items on the form that can be filtered but just using COREID for simplicity. When I run the form I am just entering a value in the COREID field to try and return those records. Most of the other items on the form are displayed as Popup LOV(fetches first row). Would the values of all these be done the same in a comma delimited list for the items and values? I was trying to get at least one of them working first. Here is the search result that comes up in the debug window:
    Search Results
    0.01: Item: P2_COREID HIDDEN
    0.01: show report
    0.02: determine column headings
    0.02: parse query as: MOTEAMSAPEX
    0.02: binding: ":P2_COREID"="P2_COREID" value=""
    0.02: print column headings
    0.02: rows loop: 15 row(s)
    No data found.
    Here is the SQL statement:
    select coreid, serialnumber
    from MOTEAMS.V_ASSETS where
    instr(UPPER("COREID"), UPPER(:P2_COREID)) > 0
    The branch settings are:
    Set these items: P2_COREID
    With these values: &P1_COREID (also tried this with period at the end)
    I am new to this and not familiar with apex.oracle.com. How would I go about posting to that site?
    Thanks,
    Pam

  • Error while populating drop down list with values from a database

    Hi all,
    I have a JSP page with a drop down list that is to be populated with values from a database.
    This is the code in my JSP file:
         <!-- Form for picking the floor -->
             <!-- Get the available floors -->
             <% ArrayList<Integer> floornumbers = dataManager.getAllFloorNumbers();
                Iterator<Integer> iterator = floornumbers.iterator(); %>
             <!-- Create the form for users to select the floor -->
             <form id="floorselectionform">
                  <input type="hidden" name="action" value="floorselected"/> <!-- Guides the servlet to redirect to the appropriate page -->
                  Select floor | <select name="floorselector" id="floorselector">
                       <% while (iterator.hasNext()) { %>
                       <option value="<%=iterator.next().intValue()%>"> <%=iterator.next().intValue()%> </option>
                       <% } %>
                  </select>
                  <input type="submit" value="Go!"/>
             </form>   The DataManager.java class simply forwards this to its respective Peer class, which has the code shown below:
          package seatplanner.model;
        import java.sql.Connection;
        import java.sql.ResultSet;
        import java.sql.SQLException;
        import java.sql.Statement;
        import java.util.ArrayList;
        /* This class handles all floor operations */
         public class FloorPeer
         /* This method returns all the floor numbers */
         public static ArrayList<Integer> getAllFloorNumbers(DataManager dataManager) {
            ArrayList<Integer> floornumbers = new ArrayList<Integer>();
            Connection connection = dataManager.getConnection();
            if (connection != null) {
              try {
                Statement s = connection.createStatement();
                String sql = "select ID from floor order by ID asc";
                try {
                  ResultSet rs = s.executeQuery(sql);
                  try {
                    while (rs.next()) {
                      floornumbers.add(rs.getInt(1));
                  finally { rs.close(); }
                finally {s.close(); }
              catch (SQLException e) {
                System.out.println("Could not get floor numbers: " + e.getMessage());
              finally {
                dataManager.putConnection(connection);
            return floornumbers;
         }  The classes compile properly, but when I load this page up in Tomcat it just freezes and does not load the form. I tested the DB connection and it works fine.
    What am I doing wrong in the JSP code?
    Thanks for the help in advance.
    UPDATE: I commented out the form, and added <%=floornumbers.size()%> right above the commented code to check if the ArrayList is indeed getting populated with the values from the database (the values are of type integer in the database). The page still freezes like before. I'm puzzled now :confused: .

    Wrong usage of Iterator.
    <!-- Form for picking the floor -->
             <!-- Get the available floors -->
             <% ArrayList<Integer> floornumbers = dataManager.getAllFloorNumbers();
                Iterator<Integer> iterator = floornumbers.iterator(); %>
             <!-- Create the form for users to select the floor -->
             <form id="floorselectionform">
                  <input type="hidden" name="action" value="floorselected"/> <!-- Guides the servlet to redirect to the appropriate page -->
                  Select floor | <select name="floorselector" id="floorselector">
                       <% while (iterator.hasNext()) {
                                    Integer inte = iterator.next();
                            %>
                       <option value="<%=inte.intValue()%>"><%=inte.intValue()%></option>
                       <% } %>
                  </select>
                  <input type="submit" value="Go!"/>
             </form>or make use of enhanced loop as you are already using J2SE 5.0+ for avoiding confusions.
    <!-- Form for picking the floor -->
             <!-- Get the available floors -->
             <% ArrayList<Integer> floornumbers = dataManager.getAllFloorNumbers(); %>
             <!-- Create the form for users to select the floor -->
             <form id="floorselectionform">
                  <input type="hidden" name="action" value="floorselected"/> <!-- Guides the servlet to redirect to the appropriate page -->
                  Select floor | <select name="floorselector" id="floorselector">
                       <% for(Integer inte:floornumbers) {%>
                       <option value="<%=inte.intValue()%>"><%=inte.intValue()%></option>
                       <%}%>
                  </select>
                  <input type="submit" value="Go!"/>
             </form>and a lot better thing would be making usage of basic Taglib provided with JSTL spec or struts spec which make life easier and simple.
    something like usage of <c:forEach/> or <logic:iterate/> would be lot better without writing a single scriptlet code.
    Hope that might help :)
    REGARDS,
    RaHuL

  • Create xml file with values from context

    Hi experts!
    I am trying to implement a WD application that will have some input fields, the value of those input fields will be used to create an xml file with a certain format and then sent to a certain application.
    Apart from this i want to read an xml file back from the application and then fill some other context nodes with values from the xml file.
    Is there any standard used code to do this??
    If not how can i do this???
    Thanx in advance!!!
    P.S. Points will be rewarded to all usefull answers.
    Edited by: Armin Reichert on Jun 30, 2008 6:12 PM
    Please stop this P.S. nonsense!

    Hi,
    you need to create three util class for that:-
    XMLHandler
    XMLParser
    XMLBuilder
    for example in my XML two tag item will be there e.g. Title and Organizer,and from ur WebDynpro view you need to pass value for the XML tag.
    And u need to call buildXML()function of builder class to generate XML, in that i have passed bean object to get the values of tags. you need to set the value in bean from the view ui context.
    Code for XMLBuilder:-
    Created on Apr 4, 2006
    Author-Anish
    This class is to created for having function for to build XML
    and to get EncodedXML
      and to get formated date
    package com.idb.events.util;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import com.idb.events.Event;
    public class XMLBuilder {
    This attribute represents the XML version
         private static final double VERSION_NUMBER = 1.0;
    This attribute represents the encoding
         private static final String ENCODING_TYPE = "UTF-16";
         /*Begin of Function to buildXML
    return: String
    input: Event
         public String buildXML(Event event) {
              StringBuffer xmlBuilder = new StringBuffer("<?xml version=\"");
              xmlBuilder.append(VERSION_NUMBER);
              xmlBuilder.append("\" encoding=\"");
              xmlBuilder.append(ENCODING_TYPE);
              xmlBuilder.append("\" ?>");
              xmlBuilder.append("<event>");
              xmlBuilder.append(getEncodedXML(event.getTitle(), "title"));
              xmlBuilder.append(getEncodedXML(event.getOrganizer(), "organizer"));
              xmlBuilder.append("</event>");
              return xmlBuilder.toString();
         /End of Function to buildXML/
         /*Begin of Function to get EncodedXML
    return: String
    input: String,String
         public String getEncodedXML(String xmlString, String tag) {
              StringBuffer begin = new StringBuffer("");
              if ((tag != null) || (!tag.equalsIgnoreCase("null"))) {
                   begin.append("<").append(tag).append(">");
                   begin.append("<![CDATA[");
                   begin.append(xmlString).append("]]>").append("</").append(
                        tag).append(
                        ">");
              return begin.toString();
         /End of Function to get EncodedXML/
         /*Begin of Function to get formated date
    return: String
    input: Date
         private final String formatDate(Date inputDateStr) {
              String date;
              try {
                   SimpleDateFormat simpleDateFormat =
                        new SimpleDateFormat("yyyy-MM-dd");
                   date = simpleDateFormat.format(inputDateStr);
              } catch (Exception e) {
                   return "";
              return date;
         /End of Function to get formated date/
    Code for XMLParser:-
    Created on Apr 12, 2006
    Author-Anish
    This is a parser class
    package com.idb.events.util;
    import java.io.ByteArrayInputStream;
    import java.io.IOException;
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.parsers.SAXParser;
    import javax.xml.parsers.SAXParserFactory;
    import org.xml.sax.InputSource;
    import org.xml.sax.SAXException;
    import org.xml.sax.XMLReader;
    import com.idb.events.Event;
    import com.sap.tc.webdynpro.progmodel.api.IWDMessageManager;
    public class XMLParser {
    Enables namespace functionality in parser
         private final boolean isNameSpaceAware = true;
    Enables validation in parser
         private final boolean isValidating = true;
    The SAX parser used to parse the xml
         private SAXParser parser;
    The XML reader used by the SAX parser
         private XMLReader reader;
    This method creates the parser to parse the user details xml.
         private void createParser()
              throws SAXException, ParserConfigurationException {
              // Create a JAXP SAXParserFactory and configure it
              SAXParserFactory saxFactory = SAXParserFactory.newInstance();
              saxFactory.setNamespaceAware(isNameSpaceAware);
              saxFactory.setValidating(isValidating);
              // Create a JAXP SAXParser
              parser = saxFactory.newSAXParser();
              // Get the encapsulated SAX XMLReader
              reader = parser.getXMLReader();
              // Set the ErrorHandler
    This method is used to collect the user details.
         public Event getEvent(
              String newsXML,
              XMLHandler xmlHandler,
              IWDMessageManager mgr)
              throws SAXException, ParserConfigurationException, IOException {
              //create the parser, if not already done
              if (parser == null) {
                   this.createParser();
              //set the parser handler to extract the
              reader.setErrorHandler(xmlHandler);
              reader.setContentHandler(xmlHandler);
              InputSource source =
                   new InputSource(new ByteArrayInputStream(newsXML.getBytes()));
              reader.parse(source);
              //return the results of the parse           
              return xmlHandler.getEvent(mgr);
    Code for XMLHandler:-
    Created on Apr 12, 2006
    Author-Anish
    This is a parser class
    package com.idb.events.util;
    import java.io.ByteArrayInputStream;
    import java.io.IOException;
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.parsers.SAXParser;
    import javax.xml.parsers.SAXParserFactory;
    import org.xml.sax.InputSource;
    import org.xml.sax.SAXException;
    import org.xml.sax.XMLReader;
    import com.idb.events.Event;
    Created on Apr 12, 2006
    Author-Anish
    *This handler class is created to have constant value for variables and function for get events,
        character values for bean variable,
        parsing thr date ......etc
    package com.idb.events.util;
    import java.sql.Timestamp;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Locale;
    import org.xml.sax.Attributes;
    import org.xml.sax.SAXException;
    import org.xml.sax.SAXParseException;
    import org.xml.sax.helpers.DefaultHandler;
    import java.util.*;
    import com.idb.events.Event;
    import com.sap.tc.webdynpro.progmodel.api.IWDMessageManager;
    public class XMLHandler extends DefaultHandler {
         private static final String TITLE = "title";
         private static final String ORGANIZER = "organizer";
         IWDMessageManager manager;
         private Event events;
         private String tagName;
         public void setManager(IWDMessageManager mgr) {
              manager = mgr;
    This function is created to get events
         public Event getEvent(IWDMessageManager mgr) {
              manager = mgr;
              return this.events;
    This function is created to get character for setting values through event's bean setter method
         public void characters(char[] charArray, int startVal, int length)
              throws SAXException {
              String tagValue = new String(charArray, startVal, length);
              if (TITLE.equals(this.tagName)) {
                   this.events.setTitle(tagValue);
              if (ORGANIZER.equals(this.tagName)) {
                   String orgName = tagValue;
                   try {
                        orgName = getOrgName(orgName);
                   } catch (Exception ex) {
                   this.events.setOrganizer(orgName);
    This function is created to parse boolean.
         private final boolean parseBoolean(String inputBooleanStr) {
              boolean b;
              if (inputBooleanStr.equals("true")) {
                   b = true;
              } else {
                   b = false;
              return b;
    This function is used to call the super constructor.
         public void endElement(String uri, String localName, String qName)
              throws SAXException {
              super.endElement(uri, localName, qName);
         /* (non-Javadoc)
    @see org.xml.sax.ErrorHandler#fatalError(org.xml.sax.SAXParseException)
    This function is used to call the super constructor.
         public void fatalError(SAXParseException e) throws SAXException {
              super.fatalError(e);
    This function is created to set the elements base on the tag name.
         public void startElement(
              String uri,
              String localName,
              String qName,
              Attributes attributes)
              throws SAXException {
              this.tagName = localName;
              if (ROOT.equals(tagName)) {
                   this.events = new Event();
         public static void main(String a[]) {
              String cntry = "Nigeria";
              XMLHandler xml = new XMLHandler();
              ArrayList engList = new ArrayList();
              engList = xml.getCountries();
              ArrayList arList = xml.getArabicCountries();
              int engIndex = engList.indexOf(cntry);
              System.out.println("engIndex  :: " + engIndex);
              String arCntryName = (String) arList.get(engIndex);
              System.out.println(
                   ">>>>>>>>>>>>>>>>>>>>" + xml.getArabicCountryName(cntry));
    Hope that may help you.
    If need any help , you are most welcome.
    Regards,
    Deepak

  • How can I use mail merge with numbers in the new pages version?

    I am trying to use mail merge with the new version of pages and can not seem to be able to figure it out. PLEASE HELP!!!

    Nope. Version 5 is a fashion accessory: it looks like software, but it doesn;t actually do anything. Sort of like a sports car with a lawn-mower engine. Looks snzzy. Doesn't really work. (And given how buggy it is, I should further specifiy that the lawn-mower engine comes with a blade: it chews up your old templates, produces files that cannot be sent as email attahcments [yes, really], and—this just in—doesn;t play well with the new SMB facility of Mavericks. In short, as one reviewer put it, "un unmitigated disaster."

  • "Merge with values" not merging values

    Hello,
    I have quite a problem with LDAP provisionning and LDAP groups management:
    - "user1" and "user2" already exist in the LDAP directory and are members of "group1"
    - I create user1 in IDM and give him the LDAP ressource => he gets linked correctly to his account
    - I create user2 in IDM
    - I have a role in IDM with the LDAP ressource associated and a "set attribute value" configured with "group2" and "merge with values"
    - when I give this role to user1, user1 gets group1 and group2 in the LDAP directory. Great.
    - when I give this role to user2, user2 gets linked correctly to his account and only has group2! group1 has disappeared and no merge whatsoever was performed!
    Of course, my real situation involves thousands of existing users, and I plan to manage user ressources only via Roles and not via Ressource. I then have thousands of user2 who are going to lose their groups!
    I also tried with "Authoritative merge with values", same result.
    Any idea what should be changed?
    Thanks

    Hi,
    If the users already have access to 'group1' then create a role with "Merge with value, clear existing" for the attribute.
    If required then create another role for 'group2' also with "Merge with value, clear existing" for the attribute. A user who is assign both roles will be granted access to 'group1' and'group2'
    "Merge with value, clear existing" will ensure the user only has access to the groups as per the role assignments. If the user is independently assigned 'group3' then IDM will remove 'group3' next time the user is refreshed within IDM.
    If you only use "Merge with value" then old groups will not be removed even if they are not required.

  • Information in Template Header with value from 3 for-each groups

    Hi,
    i have an datamodel with 3 nested groups and in my rtf-template i'm using 3 for each-loops to give the data out.
    It works fine, i can show the data on every level.
    But now our customers wants in the Header of each page information with values from each group.
    Like  Land-District-City.
    My first Test was with the @section-condition to get the right data in the Header.
    But it only works fine for the first group and not further....
    Anybody an idea? May be more then one @section?
    Regards Christian

    Hi Mike,
    I found some two mistakes that should solve your problems:
    1. typo: use "raw_value" with underscore, then the "category" works.
    2. The array support of the Generic Panel is limited to semicolon-separated term lists in a text field,
    where each term represent an array item.
    For example the "supplemental categories" property should look like:
    <xmp_property
         name="SupplementalCategories" category="external"
         label="$$$/stewart/Class=Classification:" type="bag" element_type="text"
         xmp_path="SupplementalCategories" ui:multiLine="true" ui:mru="true" description="..."
    />
    Hope this helps,
    -- Stefan

  • Set value in af:query with value from method

    hello all
    i have problem, when they want set value in af:query (inputText) with value from method, how to do that?
    anyone help..?
    thx
    agungdmt

    Hi,
    are you facing this issue when you try to show few values on right side (selected list) of shuttle component.
    what is your usecase exactly ?

  • How to embed the Word Document and PDF file into Crystal report?

    How to embed the Word Document and PDF file into Crystal report?
    I have word doc which having 10 pages. I need to show all of the 10 pages at a time. I tried OLE object but problem is it shows only one page.
    Is there any solution to show word doc / PDF file in CR?

    Symptom :
    When embedding a pdf document into a Crystal Report, only the one page shows.
    Reproducing the Issue
    Environment:
    Crystal Reports OLE object
    Cause
    An OLE object only displays the first page.
    Resolution
    Embed multiple objects, one for each page
    Or
    Use a hyperlink to the object instead
    Hope this helps!
    Regards,
    Vinay

Maybe you are looking for