Automate saving a generated PDF at a particular location ?

Hi,
I am generating a PDF out of a simple form. I have to save this generated PDF at a particular location  (intranet). Can anybody give me the steps?
Thanks
Srinivas

Hi,
If you want to upload the pdf files from desktop to the server, then you can upload them in portal KM repository.
Regards
Srini

Similar Messages

  • Saving PDF From in particular location

    Hi all,
    I am having one query i have a requirement that the form that is initiated should be stored in particular location.
    eg: i have initiated the form with input ABC in one filed and my requirement is that after final approval the file should create a folder ABC and PDF should stored  in that folder like abc.pdf
    C:\\ABC\ABC.pdf
    please let me know how can i do in the work flow.
    thanks in advance
    Sekhar

    The following operation will do that.
    Service Name: File Utilities
    Operation Name: Write Document
    Note: The file cannot be written on the client PC.
    Nith

  • Uploading File to a particular location

    Hi,
    I need to upload a file to a particular location using the Struts framework.
    I have been reading about the html:file tag.
    But I did not come across any information as to where the file gets uploaded to. I need the file to be uploaded to a location in my project.
    How do I do it?
    Could anyone post a code sample for this?
    Thanks in advance.

    http://www.google.com/search?q=struts+file+upload
    I see lots of useful examples tho.
    Saving the retrieved file to a particular location has nothing to do with Struts. Just handle it in your Javabean. Check the java.io API.

  • How to generate PDF automatically.

    Hello,
    I am generating INVOICES using REPORTS 6i.
    After created the PDF format, I send to the customer by email.
    I would like to do this process automatically.
    So how can I generate PDF automatically?
    There is any pl/sql functionality available to generated PDF automatically.If so how can I generate similar like report 6i format and symbols (Logo).
    Pls give me some ideas.
    Thanks,Kannan.K

    Kannan,
    a scheduler is part of Reports, with which you can automate to generate Reports. There's a Queue Manager with your installation. But for this you need Application Server based Reporting - not Client/Server.
    Also it's possible to send an PDF-Report as an EMail-attachment directly. Starting with 9i there's also an PL/SQL-API available (Event-based Reporting).
    regards
    Rainer

  • How to automatically saved a pdf form into a network folder using a submit button

    Good evening to everyone,
    I'm more than a beginner on adobe development reason why I would like to apologize first if my questions are dumbs. :-(
    I would like to know if 'Adobe 9 Professional Extended' has the possibility to put some code into a submit button in order for the pdf form to be saved with a unique name and into a Network folder located into an Encryption Server where we handle our PII. Is it? Over the past two weeks I've been digging into the documentation but I'm unable to find something that will help me to accomplish our headquarters requirements.
    If there is no possibility, is there any programming language that adobe accepts in order to configure a piece of code that will store the file into a network folder? Perhaps VB or C-SHARP?
    Whatever feedback anyone can give, I deeply appreciate it.
    Thanks,

    Thanks for the reply Mr. Chaney!
    I do have more questions based on your recomendation.
    From my understanding, JavaScript or FormCalc will be my only options, right? If that's the case, how can a scripting language (client server side) allow me to transfer automatic saved files into a Network folder within my company intranet? I downloaded the Scripting Basic manual and all the scenarios and code are client server side such as, changing background color, add effects to a button and so on.
    I did find a command under FormCalc called "PUT" can I use this command to transfer a pdf file into a Virtual Directory folder? All the examples I saw were for XML files.
    Greetings,

  • Automate Saving Process to two PDFs

    I am trying to figure out a way to make expedite saving a file into two separate PDFs with separate settings.
    One needs to be
    CMYK, All layers flattened, All blacks to 100 black (Adjustments, Selective Color, Black), saved to a PDF with no compression and no color conversion.
    Another needs to be RGB and normally when I open this PDF into Acrobat I can press CMD + D and set the magnification to "Actual Size" and then Save as Optimized so it shrinks down the file size so its easy for someone to open it up in an email on their phone or what have you.
    Using Actions I can do the flattening, the black conversion, and the saving of two separate PDFs but I can't get it so the PDF will open up to the actual size on screen (or a smaller one instead of blown up super huge) and get it to a decent file size.
    I was thinking scripts but I'm not entirely sure how to use them properly - extend script to do all of that ^ and the launch acrobat and make changes there.
    Not sure what I could do about this but I'm just looking to cut a few corners and make this process easier since I have to do this with every file I manage.

    For one - to ensure that the CMYK file is both flattened and had it's blacks converted to 100% black in the event I'd missed something (I wanted this step to be automated so it was something I couldn't forget since I do dozens of files every other hour)
    And secondly, for the RGB file, I would like a way to automate Opening that File in Acrobat, pressing CMD + D, and switching the magnification to "Actual Size" so that when the client opens it the file is closer to the actual size and/or not blown up so huge they think "Oh, look at all the room I have to cram more info into" ... happens all the time. If I do this "Actual Size" step, then they are less likely to do that. And last, in acrobat, I can save and Optimized version that downgrade it just enough to be easily sendable/openable via email on cell phones.
    I do all this by hand now and really it only takes me a minute. But I would just like to have it automated so I don't have to and so I don't forget anything that might cause printing errors.
    So far - I haven't been able to recreate what I need to be done to the RGB file in Photoshop Presets. I can downgrade the quality but not the opening size in Acrobat.

  • How to generate pdf report and automatically save in the folder?

    Hi all,
    I want to ask, how to generate pdf report and automatically save in the folder?
    Actually, if i run pdf report and show to screen. Now do not need to show to the screen but save the pdf file in the folder.
    If anyone know, please share to me.
    Thanks and regards,
    Iwan

    Hi all,
    Thanks for the reply.
    when i run pdf report, and i got this URL to show the pdf report.
    http://190.180.55.73:7778/reports/rwservlet/getjobid3828?server=sitcnrepsvr
    Do any body know where can i get this pdf report that i have run in application server report folder ?
    Thanks and regards,
    Iwan

  • HOWTO: Disallow printing/saving/selection on generated PDF?

    Hi,
    Situation:
    1) I have written a process which successfully converts X documents to X PDF files. (CreatePDF2 - service)
    2) The same process also successfully merges these generated PDF files to one single PDF. (InvokeDDX - service)
    Problem:
    I can print, save and select in the merged PDF (step 2 in situation).
    The end-user who receives this merged PDF file, may not be able to invoke any of these commands.
    Meaning the PDF Result of the InvokeDDX service must be: non-printable + non-selectable + non-savable.
    Question:
    How can I restrict these settings?
    I find no such option nor in the InvokeDDX webservice, nor in the CreatePDF2 service.
    I generate the DDX manually and I can fully modify the written LiveCycle process which I created a week ago.
    Thanks in advance!

    Impossible due to restricted policies.

  • How to generate PDF copy of invoice list

    Hi All,
    I need a favor from you in helping to generate a PDF copy to invoice list .
    I observed that  spool is not generated for this print output of invoice list but output successfully triggered.
    we have z report (zretrieval ) to generated the PDF  but it's not allowed to generate PDF.
    I tried alternative method by saving the print preview but I can able to save only that particular page.
    our business looking for all invoice list pages in single pdf  so please guide me to proceed further.
    Regards
    Srinivasa Reddy

    I presume your issue is output triggered but PDF file is not generating if the invoice list goes for multiple pages.  If this is correct, then you need to talk to your ABAPer as they only, have to check the  smartform being used for invoice list.
    G. Lakshmipathi

  • Generating PDF from a C program. How do I get dimensions of rendered text?

    Hello.
    I am generating a PDF file from withing a C program I am developing and I am running into trouble measuring the dimensions of arbitrary text string when rendered on the page. Even if I had widths of individual glyphs in the font I am using, I would still run into trouble considering ligatures. My questions are the following:
    When I generate a PDF file, I have to provide the /Widths array dictionary entry for the font I use. How do I get these values? Is it possible to get them out of the font file (OTF/Type-1) easily?
    If I do have the widths of individual glyphs and the ascent/descent values for the whole font, I still need ascent/descent for individual glyphs so that I can typeset things perfectly. How about these? Can they be read from the formats mentioned above?
    What confuses me is this. A PDF writer (be it Microsoft Word) knows the font it is using to write text, obviously. When it saves the document as PDF, does it really inspect the font to dig out the glyph sizes?
    I do not use any libraries whatsoever, I am generating the whole file and its PostScript streams "by hand".
    Thanks!
    David

    1. Yes, you need to provide Widths and they MUST be right (a conflict with the font values is bad news). It depends what you mean by "easy". It's possible to parse each different font type, but hard work, at least for the format I understand (type 1). If the font is installed in the system you can use the OS to return font metric information for most things. StemV/StemH are a particular challenge as the values are not in type 1 fonts.
    It is tough enough for type 1 fonts that the AFM format was invented to provide font information in simple text format, and there should be an AFM for every type 1 font. Be sure to retrieve metric information at a very large size to avoid rounding issues. If you are working with the base fonts only it's easy enough to generate a table for them.
    Ligatures should be no issue at all. A ligature is a single glyph with its own metrics. You either use the individual characters (so ligatures are irrelevant) or you replace groups with a ligature (at which point it becomes a single glyph to manage). There is no automatic conversion of ligatures.
    2. This would be in the font, but it would be most unusual to make use of individual glyph's ascent/descent in typesetting layout calculations, as I understand it. The important things are
    (a) use font ascent/descent over the whole line for all fonts and sizes used to ensure there is enough room for characters
    (b) set each glyph on the same baseline
    What do you see yourself as doing with the glyph ascent/descent?
    If an application generates PDF, then it really must do this stuff. Word knows all this anyway, because it needs to do the calculations to place text on screen.
    Please do not try to generate PDFs entirely by hand. Many people try, but nobody manages to get stream length and xref entries right. You cannot rely on PDF readers to repair. Please write your own software to generate these things. PDF is not a text format, even though it has a lot of text in it.

  • CRM ONLINE 2013: On Approval Of Quotation, Run Report, Generate PDF and Send an Email With PDF as attachment

    Hi,
    I am using CRM ONLINE 2013.
    How to automate below process?
    1. On Approval Of Quotation, Run Report.
    2. Generate PDF.
    3. Send an Email With PDF as attachment.
    As i have gone through many forums for this topic, but creating a plugin code for generating Report PDF is not possible in CRM ONLINE.
    So, What is the alternate way to do this..?
    Thanks.

    This is my entire code mentioned below:-
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
        <script type="text/javascript">
            if (typeof (SDK) == "undefined")
            { SDK = { __namespace: true }; }
            SDK.JScriptRESTDataOperations = {
                _context: function () {
                    if (typeof GetGlobalContext != "undefined")
                    { return GetGlobalContext(); }
                    else {
                        if (typeof Xrm != "undefined") {
                            return Xrm.Page.context;
                        else { return new Error("Context is not available."); }
                _getServerUrl: function () {
                    var serverUrl = this._context().getServerUrl()
                    if (serverUrl.match(/\/$/)) {
                        serverUrl = serverUrl.substring(0, serverUrl.length - 1);
                    return serverUrl;
                _ODataPath: function () {
                    return this._getServerUrl() + "/XRMServices/2011/OrganizationData.svc/";
                _errorHandler: function (req) {
                    return new Error("Error : " +
      req.status + ": " +
      req.statusText + ": " +
      JSON.parse(req.responseText).error.message.value);
                _dateReviver: function (key, value) {
                    var a;
                    if (typeof value === 'string') {
                        a = /Date\(([-+]?\d+)\)/.exec(value);
                        if (a) {
                            return new Date(parseInt(value.replace("/Date(", "").replace(")/", ""), 10));
                    return value;
                Create: function (object, type, successCallback, errorCallback) {
                    var req = new XMLHttpRequest();
                    req.open("POST", this._ODataPath() + type + "Set", true);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
                    req.onreadystatechange = function () {
                        if (this.readyState == 4 /* complete */) {
                            if (this.status == 201) {
                                successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d);
                            else {
                                errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
                    req.send(JSON.stringify(object));
                Retrieve: function (id, type, successCallback, errorCallback) {
                    var req = new XMLHttpRequest();
                    req.open("GET", this._ODataPath() + type + "Set(guid'" + id + "')", true);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
                    req.onreadystatechange = function () {
                        if (this.readyState == 4 /* complete */) {
                            if (this.status == 200) {
                                successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d);
                            else {
                                errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
                    req.send();
                Update: function (id, object, type, successCallback, errorCallback) {
                    var req = new XMLHttpRequest();
                    req.open("POST", this._ODataPath() + type + "Set(guid'" + id + "')", true);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
                    req.setRequestHeader("X-HTTP-Method", "MERGE");
                    req.onreadystatechange = function () {
                        if (this.readyState == 4 /* complete */) {
                            if (this.status == 204 || this.status == 1223) {
                                successCallback();
                            else {
                                errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
                    req.send(JSON.stringify(object));
                Delete: function (id, type, successCallback, errorCallback) {
                    var req = new XMLHttpRequest();
                    req.open("POST", this._ODataPath() + type + "Set(guid'" + id + "')", true);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
                    req.setRequestHeader("X-HTTP-Method", "DELETE");
                    req.onreadystatechange = function () {
                        if (this.readyState == 4 /* complete */) {
                            if (this.status == 204 || this.status == 1223) {
                                successCallback();
                            else {
                                errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
                    req.send();
                RetrieveMultiple: function (type, filter, successCallback, errorCallback) {
                    if (filter != null) {
                        filter = "?" + filter;
                    else { filter = ""; }
                    var req = new XMLHttpRequest();
                    req.open("GET", this._ODataPath() + type + "Set" + filter, true);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
                    req.onreadystatechange = function () {
                        if (this.readyState == 4 /* complete */) {
                            if (this.status == 200) {
                                successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d.results);
                            else {
                                errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
                    req.send();
                __namespace: true
        </script>
        <script type="text/javascript">
            //Create Email and link it with Order as Regarding field
            var Xrm;
            var email = new Object();
            var ownerID = "";
            var CustomerId = "";
            if (window.opener) { Xrm = window.opener.Xrm; }
            else if (window.parent) { Xrm = window.parent.Xrm; }
            //Get ownerid who send email of quotation to customer
            function GetOwnerID() {
                var owner = Xrm.Page.getAttribute("ownerid").getValue();
                ownerID = owner[0].id;
                var ownerName = owner[0].name;
                var entityType = owner[0].entityType;
                GetToEmailGUID();
            //Get customerid who receive email of quotation from owner
            function GetToEmailGUID() {
                var Customer = Xrm.Page.getAttribute('customerid').getValue();
                CustomerId = Customer[0].id;
                var CustomerName = Customer[0].name;
                var entityType = Customer[0].entityType;
                //if CustomerId is type of "Account" then get Primary Contact id of that account
                if (entityType == "account") {
                    var contact = Xrm.Page.getAttribute("customerid").getValue();
                    if (contact === null) return;
                    var serverUrl = Xrm.Page.context.getClientUrl();
                    var oDataSelect = serverUrl + "/XRMServices/2011/OrganizationData.svc/AccountSet(guid'" + contact[0].id + "')?$select=PrimaryContactId";
                    var req = new XMLHttpRequest();
                    req.open("GET", oDataSelect, false);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json;charset=utf-8");
                    req.onreadystatechange = function () {
                        if (req.readyState === 4) {
                            if (req.status === 200) {
                                var retrieved = JSON.parse(req.responseText).d;
                                CustomerId = retrieved.PrimaryContactId.Id;
                            else {
                                alert(this.statusText);
                    req.send();
            function CreateEmail() {
                GetOwnerID();
                email.Subject = "Email with Report Attachment";
                //Set The current order as the Regarding object
                email.RegardingObjectId = {
                    Id: Xrm.Page.data.entity.getId(),    //Get the current entity Id , here OrderId
                    LogicalName: Xrm.Page.data.entity.getEntityName()//Get the current entity name, here it will be “salesOrder”
                //Create Email Activity
                SDK.JScriptRESTDataOperations.Create(email, "Email", EmailCallBack, function (error) { alert(error.message); });
            // Email Call Back function
            function EmailCallBack(result) {
                email = result; // Set the email to result to use it later in email attachment for retrieving activity Id
                var activityPartyFrom = new Object();
                // Set the From party of the ActivityParty to relate an entity with Email From field
                activityPartyFrom.PartyId = {
                    Id: CustomerId, //"79EBDD26-FDBE-E311-8986-D89D6765B238",  // id of entity you want to associate this activity with.        
                    LogicalName: "contact"
                // Set the "activity" of the ActivityParty
                activityPartyFrom.ActivityId = {
                    Id: result.ActivityId,
                    LogicalName: "email"
                // Now set the participation type that describes the role of the party on the activity).
                activityPartyFrom.ParticipationTypeMask = { Value: 2 }; // 2 means ToRecipients
                // Create the from ActivityParty for the email
                SDK.JScriptRESTDataOperations.Create(activityPartyFrom, "ActivityParty", ActivityPartyFromCallBack, function (error) { alert(error.message); });
                var activityPartyTo = new Object();
                // Set the From party of the ActivityParty to relate an entity with Email From field
                activityPartyTo.PartyId = {
                    Id: ownerID, //"79EBDD26-FDBE-E311-8986-D89D6765B238",  // id of entity you want to associate this activity with.        
                    LogicalName: "systemuser"
                // Set the "activity" of the ActivityParty  
                activityPartyTo.ActivityId = {
                    Id: result.ActivityId,
                    LogicalName: "email"
                // Now set the participation type that describes the role of the party on the activity).    
                activityPartyTo.ParticipationTypeMask = { Value: 1 }; // 1 means Sender
                // Create the from ActivityParty
                SDK.JScriptRESTDataOperations.Create(activityPartyTo, "ActivityParty", ActivityPartyToCallBack, function (error) { alert(error.message); });
            //ActivityParty From Callback
            function ActivityPartyFromCallBack(result) {
            //ActivityParty To Callback
            function ActivityPartyToCallBack(result) {
                GetReportId('ABM_Infotech_SalesQuote');
            //Create attachment for the created email
            function CreateEmailAttachment() {
                //get reporting session and use the params to convert a report in PDF
                var params = getReportingSession();
                //Email attachment parameters
                var activitymimeattachment = Object();
                activitymimeattachment.ObjectId = Object();
                activitymimeattachment.ObjectId.LogicalName = "email";
                activitymimeattachment.ObjectId.Id = email.ActivityId;
                activitymimeattachment.ObjectTypeCode = "email",
                    activitymimeattachment.Subject = "File Attachment";
                activitymimeattachment.Body = encodePdf(params);
                activitymimeattachment.FileName = "Report1.pdf";
                activitymimeattachment.MimeType = "application/pdf";
                //Attachment call
                SDK.JScriptRESTDataOperations.Create(activitymimeattachment, "ActivityMimeAttachment", ActivityMimeAttachmentCallBack, function (error) { alert(error.message); });
            //ActivityMimeAttachment CallBack function
            function ActivityMimeAttachmentCallBack(result) {
                var features = "location=no,menubar=no,status=no,toolbar=no,resizable=yes";
                var width = "800px";
                var height = "600px";
                window.open(Xrm.Page.context.getServerUrl() + "main.aspx?etc=" + 4202 + "&pagetype=entityrecord&id=" + email.ActivityId, "_blank", features);
                // To open window which works in outlook and IE both
                //openStdWin(Xrm.Page.context.getServerUrl() + "main.aspx?etc=" + 4202 + "&pagetype=entityrecord&id=" + email.ActivityId, "_blank", width,
    height, features);
            //This method will get the reportId based on a report name that will be used in            getReportingSession() function
            function GetReportId(reportName) {
                var oDataSetName = "ReportSet";
                var columns = "ReportId";
                var filter = "Name eq '" + reportName + "'";
                retrieveMultiple(oDataSetName, columns, filter, onSuccess);
            function retrieveMultiple(odataSetName, select, filter, successCallback) {
                var serverUrl = Xrm.Page.context.getServerUrl();
                var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc";
                var odataUri = serverUrl + ODATA_ENDPOINT + "/" + odataSetName + "?";
                if (select) {
                    odataUri += "$select=" + select + "&";
                if (filter) {
                    odataUri += "$filter=" + filter;
                $.ajax({
                    type: "GET",
                    contentType: "application/json; charset=utf-8",
                    datatype: "json",
                    url: odataUri,
                    beforeSend: function (XMLHttpRequest) {
                        XMLHttpRequest.setRequestHeader("Accept", "application/json");
                    success: function (data) {
                        if (successCallback) {
                            if (data && data.d && data.d.results) {
                                successCallback(data.d.results);
                            else if (data && data.d) {
                                successCallback(data.d);
                            else {
                                successCallback(data);
                    error: function (XmlHttpRequest, errorThrown) {
                        if (XmlHttpRequest && XmlHttpRequest.responseText) {
                            alert("Error while retrieval ; Error – " + XmlHttpRequest.responseText);
            function onSuccess(data) {
                reportId = data[0].ReportId.replace('{', ").replace('}', ");
                CreateEmailAttachment(); // Create Email Attachment
            //Gets the report contents
            function getReportingSession() {
                var pth = Xrm.Page.context.getServerUrl() + "/CRMReports/rsviewer/reportviewer.aspx";
                var retrieveEntityReq = new XMLHttpRequest();
                var Id = Xrm.Page.data.entity.getId();
                var quotationGUID = Id.replace('{', ""); //set this to selected quotation GUID
                quotationGUID = quotationGUID.replace('}', "");
                var reportName = "ABM_Infotech_SalesQuote"; //set this to the report you are trying to download
                var reportID = "751089AA-74B8-E211-B52F-D8D3855B253B"; //set this to the guid of the report you are trying to download
                var rptPathString = ""; //set this to the CRMF_Filtered parameter
                var strParameterXML = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'><entity name='quote'><all-attributes /><filter type='and'><condition
    attribute='quoteid' operator='eq' uitype='quote' value='" + quotationGUID + "' /> </filter></entity></fetch>";
                retrieveEntityReq.open("POST", pth, false);
                retrieveEntityReq.setRequestHeader("Accept", "*/*");
                retrieveEntityReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                rptPathString = "id=%7B" + reportID + "%7D&uniquename=" + Xrm.Page.context.getOrgUniqueName() + "&iscustomreport=true&reportnameonsrs=&reportName="
    +
                                reportName + "&isScheduledReport=false&p:ABMFilteredQuote=" + strParameterXML;
                //remove the part starting from &p:salesorderid if your report has no parameters
                retrieveEntityReq.send(rptPathString);
                var x = retrieveEntityReq.responseText.indexOf("ReportSession=");
                var ret = new Array();
                ret[0] = retrieveEntityReq.responseText.substr(x + 14, retrieveEntityReq.responseText.indexOf("&", x) - x - 14); //the session id
                x = retrieveEntityReq.responseText.indexOf("ControlID=");
                ret[1] = retrieveEntityReq.responseText.substr(x + 10, retrieveEntityReq.responseText.indexOf("&", x) - x - 10); //the control id
                return ret;
            var bdy = new Array();
            var bdyLen = 0;
            function concat2Bdy(x) {
                bdy[bdyLen] = x;
                bdyLen++;
            function encodePdf(params) {
                bdy = new Array();
                bdyLen = 0;
                var retrieveEntityReq = new XMLHttpRequest();
                var pth = Xrm.Page.context.getServerUrl() + "/Reserved.ReportViewerWebControl.axd?ReportSession=" + params[0] +
                "&Culture=1033&CultureOverrides=True&UICulture=1033&UICultureOverrides=True&ReportStack=1&ControlID=" + params[1] +
                "&OpType=Export&FileName=Public&ContentDisposition=OnlyHtmlInline&Format=PDF";
                retrieveEntityReq.open("GET", pth, false);
                retrieveEntityReq.setRequestHeader("Accept", "*/*");
                retrieveEntityReq.send();
                BinaryToArray(retrieveEntityReq.responseBody);
                return encode64(bdy);
            var StringMaker = function () {
                this.parts = [];
                this.length = 0;
                this.append = function (s) {
                    this.parts.push(s);
                    this.length += s.length;
                this.prepend = function (s) {
                    this.parts.unshift(s);
                    this.length += s.length;
                this.toString = function () {
                    return this.parts.join('');
            var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
            function encode64(input) {
                var output = new StringMaker();
                var chr1, chr2, chr3;
                var enc1, enc2, enc3, enc4;
                var i = 0;
                while (i < input.length) {
                    chr1 = input[i++];
                    chr2 = input[i++];
                    chr3 = input[i++];
                    enc1 = chr1 >> 2;
                    enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
                    enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
                    enc4 = chr3 & 63;
                    if (isNaN(chr2)) {
                        enc3 = enc4 = 64;
                    } else if (isNaN(chr3)) {
                        enc4 = 64;
                    output.append(keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4));
                return output.toString();
        </script>
        <script type="text/vbscript">
        Function BinaryToArray(Binary)
               Dim i
               ReDim byteArray(LenB(Binary))
               For i = 1 To LenB(Binary)
                     byteArray(i-1) = AscB(MidB(Binary, i, 1))
                     concat2Bdy(AscB(MidB(Binary, i, 1)))
             Next
              BinaryToArray = byteArray
       End Function     
        </script>
    </head>
    <body>
        <input type="button" onclick="CreateEmail();" value="Attach Report" />
    </body>
    </html>

  • How to generate PDF report in Sharepoint Office 365

    Hi,
    We are building a custom webpart using sandbox solution and would like to generate report in PDF. Anyone have a clue?
    Thanks in advance ;
    Cheers, IXI solution

    You can use SSRS reports which can be saved in any format. Refer to the following post for more information
    http://sharepoint.stackexchange.com/questions/86100/best-way-to-generate-pdf-report
    http://social.technet.microsoft.com/Forums/sharepoint/en-US/7a1b7d4d-c55d-4621-88d2-619a1ab23448/export-sharepoint-chartsreports-to-pdf?forum=sharepointadminprevious
    Alternatively, you could also try this solution from CodePlex
    http://pdfreport.codeplex.com/
    --Cheers

  • Cannot generate PDF with RH10

    I have searched the forum and Peter Grainge's site and not found a solution to this problem that worked.
    I have a new installation of RH10 on Windows 7 sp1. It was installed as a trial and then licensed. I do not have the complete Adobe Acrobat -- only the add-on that was installed with RH.
    I used RoboHelp HTML to create a simple webhelp project and attempted to generate a PDF from it with the single source layout for Printed Documentation. The following error occurred:
    Starting to build Printed Documentation...
    Printed Documentation processor 10.0.0.287
    Building C:\RoboHelp experiments\merged help webhelp\Child projects\comcare_human_resources_modul\!SSL!\Printed_Documentation\Printed_Documentation. doc ...
    Preparing to create Printed Documentation...
    Clearing output folder...
    Preparing files for Print Document...
    Copying files...
    Updating files...
    Finished preparing in 1 second.
    Preparing environment...
    Printed Document Generator Environment: Word 14.0.6129,  OS 6.1.7601, RAM 4009 M Bytes
    Building Printed Documentation 'Printed Documentation'...
    Building Single Document 'Printed_Documentation.doc'...
    Building 'Title Page'...
    Building 'Table of Contents'...
    Preparing to build chapters...
    Building 'Human Resources Module'...
    Building 'First Topic of the Human Resources Module'...
    Processing 'First Topic of the Human Resources Module'...
    Processing 'How it works'...
    Processing 'Splash'...
    Processing 'Welcome'...
    Processing 'The Information Screen'...
    Processing 'About'...
    Processing 'Starting the application'...
    Building 'Error Messages'...
    Processing 'Error Messages'...
    Completed building chapters...
    Building 'Glossary'...
    Building 'Index'...
    Updating list paragraphs...
    Updating images...
    Updating page numbers...
    Updating page headers...
    Updating Table of Contents...
    Updating Index...
    Saving 'Printed_Documentation.doc'...
    Generating 'Printed_Documentation.pdf'...
    Failed the generate PDF file 'C:\RoboHelp experiments\merged help webhelp\Child projects\comcare_human_resources_modul\!SSL!\Printed_Documentation\Printed_Documentation. pdf'...
    Failed to save 'Printed_Documentation.doc'...
    Cleaning up temporary files...
    Internal error encountered,  Failed to generate Printed Documentation.
    RoboHelp can successfully create a PDF of a single topic. It can create a PDF with Review > Create PDF for Review.  It can successfully create a doc from this project, and Word is able to save that doc as a pdf.
    RH can open the projects that it created but cannot open the sample projects. The sample directories are read-only and I cannot reset them. I do not know why.
    I uninstalled RH and reinstalled it. The problem is still occurring.
    I am baffled. I am an inexperienced RH user so the problem might be a simple one. I would be grateful for any advice.
    Best wishes,
    Juliette Curtis

    I was also facing this issue and got the same error.  After much trial and error I found the following solution. So sharing that here. ( I am not sure whether this works for all the use cases. But in my case it worked. I am using Windows 7, RH11, and MS Office 2010.)
    Open any Office application. (I opened Word)
    Open File > Options > Add-Ins. (You will be able to manage your add-ins from this tab. When I browsed through the list I found the "Acrobat PDFMaker Office COM" Addin was with the list of  "Disabled Application Add-Ins")
    Select "Disabled items" from the Manage list. (This list is available at the bottom of the Add-Ins tab)
    Click Go. The Disable Items window is displayed.
    Select "Acrobat PDFMaker Office COM Addin" from the list.
    Click Enable.
    Click Close. The  "Acrobat PDFMaker Office COM Addin" is moved to the list of "Active Application Addins".
    Close MS word.
    Now when you generate the Printed Documentation output from RH11, the error mentioned in the query is not appearing and a PDF output is generated.
    Hope this solution will help.

  • Error while generating PDF document

    I am using RH 8 and cannot generate a Printed PDF document.
    here is the error message output
    Warning: style (p.Table) is not defined and will be mapped to 'Normal'.
    Processing 'Setting-up and Assigning Roles'...
    Warning: The Word Document became corrupt when attempting to append following malformed topics:
    TimeTEQ\Chapter1-Administration_Functions\First_Topic.htm
    TimeTEQ\Chapter1-Administration_Functions\SettingUp_the_Parent_Organisation.htm
    TimeTEQ\Chapter1-Administration_Functions\Setting_up_and_Assigning_Sites.htm
    TimeTEQ\Chapter1-Administration_Functions\Setting_Up_Departments.htm
    TimeTEQ\Chapter1-Administration_Functions\Setting_Up_and_Assigning_Roles.htm
    Failed to build 'TimeTEQ'...
    Failed to build one or more chapters.
    Building 'Glossary'...
    Failed to build 'Glossary'...
    Building 'Index'...
    Updating list paragraphs...
    Updating images...
    Updating page numbers...
    Updating page headers...
    Updating Table of Contents...
    Updating Index...
    Saving 'Printed_Documentation.doc'...
    Generating 'Printed_Documentation.pdf'...
    Failed the generate PDF file 'C:\TimeTeq_Documentation_Aug2009\TimeTEQ_OldHelp\user guide\Timteq_test_project\!SSL!\Printed_Documentation\Printed_Documentation.pdf'...
    Failed to save 'Printed_Documentation.doc'...
    Cleaning up temporary files...
    Internal error encountered,  Failed to generate Printed Documentation.
    Starting to build Printed Documentation...
    Printed Documentation processor 8.0.0.203
    Building C:\TimeTeq_Documentation_Aug2009\TimeTEQ_OldHelp\user guide\Timteq_test_project\!SSL!\Printed_Documentation\Printed_Documentation.doc ...
    Preparing to create Printed Documentation...
    Clearing output folder...
    Preparing files for Print Document...
    Copying files...
    Updating files...
    Finished preparing in 0 seconds.
    Preparing environment...
    Printed Document Generator Environment: Word 11.0.5604,  OS 5.1.2600, RAM 768 M Bytes
    Building Printed Documentation 'Printed Documentation'...
    Building Single Document 'Printed_Documentation.doc'...
    Building 'Title Page'...
    Building 'Table of Contents'...
    Preparing to build chapters...
    Building 'TimeTEQ'...
    Building 'Chapter1-Administration Functions'...
    Processing 'Overview- Understanding Sites, Departments & Roles'...
    Processing 'Setting-up a Site Group'...
    Processing 'Setting up a Site'...
    Processing 'Setting-up and Assigning Departments'...
    Warning: style (p.Body_Text) is not defined and will be mapped to 'Normal'.
    Warning: style (p.Step2) is not defined and will be mapped to 'Normal'.
    Warning: style (p.Step) is not defined and will be mapped to 'Normal'.
    Warning: style (p.spacer) is not defined and will be mapped to 'Normal'.
    Warning: style (p.Tableheader) is not defined and will be mapped to 'Normal'.
    Warning: style (p.Table) is not defined and will be mapped to 'Normal'.
    Processing 'Setting-up and Assigning Roles'...
    Warning: The Word Document became corrupt when attempting to append following malformed topics:
    TimeTEQ\Chapter1-Administration_Functions\First_Topic.htm
    TimeTEQ\Chapter1-Administration_Functions\SettingUp_the_Parent_Organisation.htm
    TimeTEQ\Chapter1-Administration_Functions\Setting_up_and_Assigning_Sites.htm
    TimeTEQ\Chapter1-Administration_Functions\Setting_Up_Departments.htm
    TimeTEQ\Chapter1-Administration_Functions\Setting_Up_and_Assigning_Roles.htm
    Failed to build 'TimeTEQ'...
    Failed to build one or more chapters.
    Building 'Glossary'...
    Failed to build 'Glossary'...
    Building 'Index'...
    Updating list paragraphs...
    Updating images...
    Updating page numbers...
    Updating page headers...
    Updating Table of Contents...
    Updating Index...
    Saving 'Printed_Documentation.doc'...
    Generating 'Printed_Documentation.pdf'...
    Failed the generate PDF file 'C:\TimeTeq_Documentation_Aug2009\TimeTEQ_OldHelp\user guide\Timteq_test_project\!SSL!\Printed_Documentation\Printed_Documentation.pdf'...
    Failed to save 'Printed_Documentation.doc'...
    Cleaning up temporary files...
    Internal error encountered,  Failed to generate Printed Documentation.

    There is a warning about a malformed topic. I have seen projects  where there is nothing wrong with the topic but where the machine needed more RAM. What are the basics of your PC?
    Also try turning off PDF and generating a Word document instead. If that works, PDF from there. Does that work?
    See www.grainge.org for RoboHelp and Authoring tips

  • Missing Characters in Frame Generated PDFs

    I had an odd thing happen, that I thought I'd pass on. I was working on
    my Mac to generate some statistical output. I printed out the results to
    pdf, imported the results in to a Frame 8 document as a referenced
    graphic. I then saved as a PDF with all fonts embedded. When viewing the
    resulting pdf, two of the statistical charts had missing characters.
    They just were not there. The two pdfs had been generated (accidentally)
    using the smallest pdf file setting in Distiller 9. The other
    problem-free charts had with all the fonts embedded made it through the
    workflow perfectly. Regenerating the charts as pdfs with all fonts
    embedded cured the problem with the final pdf.
    Who would have thought that pdfs with non-embedded fonts would have
    caused a problem down the line?
    ...Mike

    Mike,
    It's the same issue as with EPS with non-embedded fonts. FM's PDF
    importing routine converts the PDF to an EPS for internal use, so
    you're getting a PDF > EPS > PDF conversion taking place in the
    workflow. Drop a font and something goes awry.

Maybe you are looking for

  • Rfc input from selected element in another view

    Hi, In my web dynpro application I  have two views. In the first view I fill a variabile (selected_id ) in the custom controller with method onActionSelect. Now in the second view I call a rfc using selectd_id as input, but it is empty. How can I sol

  • Non-working links on duplicate navigation bar

    The row of links on my web site's navigation bar is the same on every page, just cut-and-pasted. Any reason why none of them are working on the "Samples" page? I'm assuming it has something to do with the bandcamp music players embedded on that page.

  • FILE NAMING IN RUNTIME in scheduler/plsql code in 102g. please help, thankU

    Hi, we have a scheduler job which calls/executes a stored procedure that generates a report file. however we need to give file name run at run time and need to copy it to shared folder. we do not want use any shell scripts here and like to complete t

  • Error messages when submitting a validated RSS feed URL to iTS.

    Why do I keep getting error messages when submitting a validated RSS feed URL to iTS. Feed is http://streaming.integrationworks.com:3000/archive/feed2.xml I get variations on the follwoing message: "We had difficulty reading this feed. Bad http resul

  • Locked layers shift placement

    I've been having this issue while drawing in photoshop. Even though I have a layer either fully locked or locked position, they still shift.  I will rotate the image to work on a different angle, and when I rotate back to normal placement my line wor