MVC - Generate PDF From Details View

Hello, I have a simple application with a list of items in a grid, so when you click on item's name, a popup div shows you item's details.
It works fine, however, I would like to have a button inside this details view to generate PDF on the fly.
I have got ExpertPdf.HtmlToPdf library to do that.
Here is my method's code:
public HomeController()
public ActionResult Index()
var article = from a in db.Article.Include(a => a.Kind) orderby a.CreatedDate descending select a;
return View(article.ToList());
public ActionResult Details(int id = 0)
Article article = db.Article.Find(id);
if (article == null)
return HttpNotFound();
return View(article);
public FileStreamResult ContentToPDF()
byte[] pdfBytes = new PdfConverter().GetPdfFromUrlBytes(Request.Url.AbsoluteUri);
Stream stream = new MemoryStream(pdfBytes);
return new FileStreamResult(stream, "application/pdf");
@Html.ActionLink("To PDF", "ContentToPDF")
Actually, PDF is generated from the given URL. But my problem is, when you click on ToPDF button, it calls the controller and my details view's URL changes to become: home/contenttopdf/1
instead of home/details/1, as the newly generated URL returns page not found, PDF converter returns TimeOut exception.
Can someone please tell me how to properly handle this ToPDF action method, how to call it properly?
Thanks at advance.

Please use the ASP.NET MVC forum for MVC specific issues:
http://forums.asp.net/1146.aspx/1?MVC

Similar Messages

  • JNDI error while generating pdf from crystal reports in java

    Hi, i want to generate PDF from crystal reports in java. I have the .PDF file with database configured into the report. Following details are available in report.
    1. Server Name      = testdb
    2. Database Name  = testdb
    3. User
    4. Password
    I am using CR XI.
    In CRConfig.xml i had given following details.
    <JDBC>
         <CacheRowSetSize>100</CacheRowSetSize>
         <JDBCURL>jdbc:oracle:thin:@192.218.216.102:1521://TESTDB</JDBCURL>
         <JDBCClassName>oracle.jdbc.driver.OracleDriver</JDBCClassName>
         <JDBCUserName>user</JDBCUserName>
         <JNDIURL>password</JNDIURL>
         <JNDIConnectionFactory></JNDIConnectionFactory>
         <JNDIInitContext>/</JNDIInitContext>
         <JNDIUserName>testdb</JNDIUserName>
         <GenericJDBCDriver>
              <Default>
                   <ServerType>UNKNOWN</ServerType>
                   <QuoteIdentifierOnOff>ON</QuoteIdentifierOnOff>
                   <StoredProcType>Standard</StoredProcType>
                   <LogonStyle>Standard</LogonStyle>
              </Default>
         </GenericJDBCDriver>
    </JDBC>
    When i am calling from java as standalone, i am getting following error.
    JRCAgent1 detected an exception: Error finding JNDI name (testdb)
    at com.crystaldecisions.sdk.occa.report.lib.ReportSDKException.throwReportSDKException(Unknown Source)      at com.businessobjects.reports.sdk.b.i.if(Unknown Source)
    Can anyone let me know where is the problem?

    Actually, the question boils down to; does the framework support the fonts?
    I believe that my question re. this working in the designer was valid. The designer does not use the framework, so if it works there, it is either a framework issue or a runtime print engine issue.
    I believe if you use the code below, it will list fonts available to the framework:
    foreach(FontFamily ff in FontFamily.Families)
    System.Diagnostics.Debug.WriteLine(ff.Name);
    For more information see kbase [1198306 - Crystal Report displaying incorrect font in Microsoft Visual Studio .NET|http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes_boj/sdn_oss_boj_dev/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/scn_bosap/notes%7B6163636573733d36393736354636443646363436353344333933393338323636393736354637333631373036453646373436353733354636453735364436323635373233443330333033303331333133393338333333303336%7D.do]
    Ludek

  • Generating PDF from Microsoft Word with C#

    Hello,
    We have created web-based system for a customer that stores/handles Microsoft word documents and provides these to users as PDF versions. Unfortunately some problems appear with our third-party component that generates PDF from Word. Our customer has previously used Adobe Acrobat X Pro to manually generate the PDF files and is confident that the output produced this way is valid. Despite searching and reading a lot I can't find any way to determine if (and how) it is possible to automate the process of generating a PDF file from a Microsoft word file using the Adobe engine. There is a lot of SDK documentation, how to control PDF rendering in winforms applications etc. etc. All I want to do is to load an Adobe Acrobat instance, feed it with a word document and save it as a PDF on disk. From a C# app (ASP.NET). Is that possible?
    Best regards
    Jan Hansen

    As mentioned, you can probably send the DOC file to the Adobe PDF printer to create the file. What I keep reading in your post is a legal issue. You keep mentioning being able to create the PDF on a server automatically. The server use of Acrobat is a violation of the EULA. If you are creting the files off-line for posting as has been done, there should not be a problem. However, having these created in an automated manner by the user may be an issue. Before you go much further, I would check with legal counsel about the use of Acrobat in the way you intend. If they indicate there is a problem, then your question is not needed.
    Back to the issue. Try just dropping a DOC file on the Adobe PDF printer icon (you may have to open the Start>Printers to do that. See if that creates the PDF. If so, you will just need to automate that process.

  • Gray box for logo generating pdf from fm book

    Greetings,
    I have a large FrameMaker book that I've generated pdfs from a million times. We cleaned up our logo, so I dropped it in and tried to generate the usual pdf. a gray box resulted for the logo only. all other artwork displayed fine. i tried scaling down the logo, changing formats, changing import methods, etc. all failed. however, generating a pdf from the book if I remove a few chapters gives me my logo. Am I running out of resources? I'm using tech comm suite 1.3 on vista. There are no clues in the acrobat log. show large images is turned on in the adobe reader.
    I used the obvious workaround: generated two pdfs, one with just the logo page and one with the rest of the book, then combined them. But this process is not practical long term. Any clues?

    A couple questions:
    What format is the new logo file?
    Given that it works with some component files, but not in the book... I'd guess that it may be a resource issue. How much RAM and free space do you have?
    And when you "dropped it in," does that mean imported into one file by reference, or copied in, or imported into a template that you used to update all files in the book..... or something else? And if it did update multiple files, did you double-check them to make sure the path to the graphic is correct?

  • Generating PDF from MSWord--IsTable of Content Updated?

    Hello,
    In generating PDF from MSWord document does the Adobe process call a method on the MSWord object to update the TOC field in the Word document during the generation process. Or is it assumed that the table of content in the Word document is always updated. If the table of content field is not current, field error message can appear in the Word document and the page number for
    the link can contain inaccurate values.
    Thank you,
    Jesse

    It is assumed the TOC is up to date.

  • Generating pdf from scanner

    generating pdf from scanner hp G3010: old windows xp file weight 40-50 K. Macbook pro with new mac os 10.7.2 minimum file weight 1,9 Mbyte with terrible resolution!!!! and no way to reduce.
    Nice change?

    It is assumed the TOC is up to date.

  • I am able to generate PDF from Framemaker file but not able to generate pdf from book in robohelp

    Hi,
    Using robo help i am able to generate pdf  from a single framemaker file.
    but when i am importing whole book then i am not able to make it.
    And also it is not showing any error on console
    It goes to hang like situation and i have to close it from task maneger.

    Ok, silly question - why are you bothering to try and create PDFs from RH when you've got FM? FM to PDF produces great results; RH to PDF involves having to go through Word - i.e. RH - Word - PDF = too much work IMHO.

  • How to generate PDF from template via REST query

    Hello. I'm newbie in Adobe LiveCycle, will appreciate any help.
    What we need: generate PDF from template, using different data.
    What we have: LiveCycle Designer and server with deployed Adobe LiveCycle ES 2.5 image.
    Looks like server works and listen 8080.
    In Livecycle Designer I can generate XML (XDP) from PDF, so I can change this XML in PHP/Python/Go script to fill template with data.
    I'm looking for some REST method, where I can give that XML (XDP) and recieve generated PDF in response.
    I've spent whole to for googling all these things, found a lot of docs, but all is very complicated there. Also, examples from just doesn't work - maybe I have to do something on server before calling REST API method.
    Please, push me into right direction

    Your best bet is to probably create an orchestration (or "process" in Adobe speak) that accepts two document parameters, calls LiveCycle Forms (or Output depending on whether you want to interactive or non-interactive PDF), and returns the resulting document variable.
    The orchestration will return a redirect that will point you to the document object.
    See Invoking LiveCycle using REST Requests, and Creating Your First LiveCycle ES4 Application.
    Rob

  • Generate PDF From Database

    Hi,
    I have a table in database. Table has a column. There is data of pathes of images into column. I cretaed a illustrator template and I want to generate PDF from this template with using table data in database. so, is it possible? illustrator created pdf per each image with using illustrator template.
    thanks,

    AI cannot conent directly to databases. It can only parse CSV/ XML data. You either need to export the stuff or create extensive scripts to connect to the life database using sockets.
    Mylenium

  • Generate PDF From Flex

    Hi All,
    I am doing a Reporting/Chart application in FLEX. we need to
    generate PDF from FLEX. Report data will be 5-10 pages, How we can
    do this? Please advise.
    Thanks
    Subhash

    Hi,
    thanks for your reply. I tried with alive pdf, but source
    code only AIR files. can we use this in web based flex?. How we can
    format the report like html code? I just see in alivepdf, its only
    linebyline display, not multiple columns? pls advise.
    thanks alot
    Subhash

  • Generating PDF from Flex BarChart

    Hello,
    I am new to Flex. Have been playing with creating Advanced
    Data Grid and Bar Charts for our application prototype and would
    like to explore how to create a PDF file of the BarChart or other
    charting components.
    The requirement is simple. We show the BarChart and a button
    to view it as a PDF. When the user presses the button, the PDF
    viewing dialog should come up and the user can opt to save the PDF
    or view it (the standard way a browser deals with the PDF).
    Have read blogs, this forum and LiveCycle docs but don't
    understand clearly how Flex communicates with
    LiveCycle ES (or PDF Generator) to display the PDF. Any ideas
    or tutorials that does this would be appreciated.
    Thanks,
    Kannan

    In order to generate a PDF document, you have to call a
    method on a Java remote object that uses the XFAHelper and pass it
    some arguments.
    I modified the PDFService example in the documentation so I
    can:
    1- specify any document as opposed to hardcoding the PDF
    template name
    2- write the PDF to a file as opposed to writing it in the
    user's session
    Here is the source:
    package com.mycompany.flex.remoteObjects;
    import java.io.File;
    import java.io.IOException;
    import org.w3c.dom.Document;
    import flex.acrobat.pdf.XFAHelper;
    import flex.messaging.FlexContext;
    import flex.messaging.util.UUIDUtils;
    public class PDFService
    public PDFService()
    public Object generatePDF(Document dataset, String
    PDFdocument) throws IOException
    // Open shell PDF
    String source =
    FlexContext.getServletContext().getRealPath("/pdfgen/" +
    PDFdocument);
    int index = source.indexOf("./");
    if(index != -1 )
    // Remove the ./ added by UNIX
    source = source.substring(0, index) + source.substring(index
    + 2, source.length());
    XFAHelper helper = new XFAHelper();
    helper.open(source);
    // Import XFA dataset
    helper.importDataset(dataset);
    // Create a unique ID
    String uuid = UUIDUtils.createUUID(false);
    source =
    FlexContext.getServletContext().getRealPath("/dynamic-pdf/" + uuid
    + "_" + PDFdocument);
    index = source.indexOf("./");
    if(index != -1 )
    // Remove the ./ added by UNIX
    source = source.substring(0, index) + source.substring(index
    + 2, source.length());
    // Create the file object
    File file = new File(source);
    // Save the file
    helper.save(file);
    // Close any resources
    helper.close();
    return (uuid + "_" + PDFdocument);
    pdfgen is the folder where my PDF template resides.
    dynamic-pdf is the folder where the generated PDF are saved.
    These two folders are located under flex.war at the first
    level.
    In Flex, I wrote a Cairngorm command that calls this remote
    object and displays the generated PDF:
    package com.mycompany.core.commands
    import com.adobe.cairngorm.commands.ICommand;
    import com.adobe.cairngorm.control.CairngormEvent;
    import com.adobe.cairngorm.business.Responder;
    import
    com.mycompany.core.business.GenerateAndOpenPDFDelegate;
    import
    com.mycompany.core.control.event.GenerateAndOpenPDFEvent;
    import com.mycompany.core.model.ModelLocator;
    import flash.net.navigateToURL;
    import flash.net.URLRequest;
    import mx.rpc.events.ResultEvent;
    import mx.rpc.events.FaultEvent;
    import mx.collections.*;
    import mx.core.Application;
    import mx.controls.Alert;
    public class GenerateAndOpenPDFCommand implements ICommand,
    Responder
    [Bindable]
    private var model:ModelLocator = ModelLocator.getInstance();
    public function GenerateAndOpenPDFCommand():void
    public function execute(event:CairngormEvent):void
    trace("Executing GenerateAndOpenPDFCommand...");
    var delegate : GenerateAndOpenPDFDelegate = new
    GenerateAndOpenPDFDelegate( this );
    var generateAndOpenPDFEvent : GenerateAndOpenPDFEvent =
    event as GenerateAndOpenPDFEvent;
    delegate.generateAndOpenPDF( generateAndOpenPDFEvent.pdfVO
    public function onResult( event : * = null ) : void
    var item:Object;
    var result:String = (event as ResultEvent).result as String;
    trace("GenerateAndOpenPDFCommand::onResult\n\n" + result);
    if (result)
    // Open the generated PDF in a new window
    navigateToURL(new URLRequest(ModelLocator.FLEX_URL +
    "dynamic-pdf/" + result), "_blank");
    // Hide the progress bar overlay
    Application.application.requestProgressBar.visible = false;
    Application.application.requestProgressBar.progressBar.source =
    null;
    Application.application.requestProgressBar.progressBar.label
    = this.model.languageDictionary["000012"];
    public function onFault( event : * = null ) : void
    // Hide the progress bar overlay
    Application.application.requestProgressBar.visible = false;
    Application.application.requestProgressBar.progressBar.source =
    null;
    // Debug
    Alert.show("GenerateAndOpenPDFCommand:\n\n" + (event as
    FaultEvent).message);
    FLEX_URL is created in this way some place else in the
    application:
    // Get the server URL from the Application's
    var server:String = Application.application.url;
    var index:uint = server.indexOf("Shell"); // Shell is the
    name of my app folder
    server = server.substring(0, index);
    // This is the flex.war/ URL
    ModelLocator.FLEX_URL = server;
    Of course, it would be better to save the PDF in the user's
    session as Adobe suggests, but I couldn't figure out how they use
    the PDFResourceServlet. First of all, I had to get its code.
    I had to decompile the java class files in the samples to get
    the source of the PDFResourceServlet as it is not in the
    documentation. Here it is:
    package com.mycompany.flex.remoteObjects;
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    public class PDFResourceServlet extends HttpServlet
    public PDFResourceServlet()
    protected void doGet(HttpServletRequest req,
    HttpServletResponse res)
    throws ServletException, IOException
    doPost(req, res);
    protected void doPost(HttpServletRequest req,
    HttpServletResponse res)
    throws ServletException, IOException
    String id = req.getParameter("id");
    if(id != null)
    HttpSession session = req.getSession(true);
    try
    byte bytes[] = (byte[])(byte[])session.getAttribute(id);
    if(bytes != null)
    res.setContentType("application/pdf");
    res.setContentLength(bytes.length);
    res.getOutputStream().write(bytes);
    } else
    res.setStatus(404);
    catch(Throwable t)
    System.err.println(t.getMessage());
    private static final long serialVersionUID =
    0x7180e4383e53d335L;

  • Generating PDF from DA and continue to execute

    Hi All, need your help...
    I have a DA with couple of steps:
    somewhere in the middle i have to generate PDF report and after that refresh one of the regions on the page
    well the problem is that after i generate the report using
    window.location.href = 'f?p=&APP_ID.:0:&SESSION.:PRINT_REPORT=MyReport'; the refresh of the region is not working
    same issue if i have to generate PDF and after that redirect to another page: the redirection is working but PDF is not generating.
    Looks like i don't understaffed well how to manage window.location.href
    Please help me wit any ideas
    Thanks
    Andrei

    aracila wrote:
    Hi, Thanks for answering.
    I have to make some changes in the database according to the user preferences, print a report of this changes and refresh the chart(or redirect to a new page).
    I do realize that i just can let the user to click a new tab, or put a button to generate a PDF, but ideally you need to follow the business flow and provide the possibility to operate with the app in as less as possible clicks.
    The process is:
    a) user confirm to move some staff from one warehouse to another Populate the required session information into apex_collections
    b) he wants me to generate a PDF with details ( to print it for his records )Skip the PDF generation here.
    c) he is requesting me to redirect him to a main page automatically (no need to stay in the move section anymore) Redirect to main page > in this main page define a dynamic action on Page Load
    *1.* which runs only when a record exists in apex_collections that was stored previously
    *2.* Add a true action as Execute PLSQL code
    Code: Delete the collection.
    *3.* Add a true action as Execute JavaScript code with
    window.location.href = 'f?p=&APP_ID.:0:&SESSION.:PRINT_REPORT=MyReport';So the idea is as soon as the user is redirected back to main page he will be prompted with the PDF file.
    Hope this will work :)

  • How to generate PDF from XML output without XML publisher

    Hi,
    I am facing a problem while splitting the rdf generated XML output.
    Problem Description:
    I have a oracle invoice report which runs once every day (scheduled program). This report fetches me the invoices generated on that day and needs to be Mailed / Faxed to the customers.
    So i developed the report in such a way that it generates the output order by customers...since the output generated will be as one .out file in APPLCSF/out directory...the .out file needs to be splitted by customers, for which i have written a cursor which takes the data of the main query and submits that many requests as many as customers are there.....There is a possibility of having 1000 customers per day also. If that is the case then my main program will fire that many requests.
    Is there a different approach......any inputs are highly appreciated.
    Also, i am generating the output in XML format. Is there a way from which i can directly generate a PDF from that XML output rather using any other tool.
    Thanks & Regards,
    Lakshmi Kalyan Vara Prasad.

    Hi,
    with Reports Bursting and the defined "distributions" it's possible to have one report splittet to several parts with different receipients. Have a look at http://download-uk.oracle.com/docs/cd/B14504_01/dl/bi/B13673_01/pbr_dist.htm.
    With xsl-fo it's possible to create pdf out of xml ... that's what xml publisher is doing.
    Regards
    Rainer

  • Error while generating PDF from APEX through BI Publisher

    Hi,
    I am facing a problem which is intermittent.
    I am generating a pdf from APEX which has been developed using BI Publisher.
    I have linked the report to the APEX using report queries/report layouts in shared components.
    The pdf used to open without any problems previously.But currently,I am getting the following error
    *"An error exists on this page.Acrobat may not display the page correctly.Please contact the person who created the pdf document to correct the document."*
    Once the Bi Publisher Services is restarted,I am able to generate the pdf.Again After sometime the same error pops up.
    Has anybody faced the above error?
    Any solution for the same.
    Kindly reply.
    Thanks and Regards,
    K Tanna

    in the log file,following message was shown
    [050510_021134100][oracle.apps.xdo.template.FOProcessor][STATEMENT] clearInputs(Object) is called.
    [050510_021134126][oracle.apps.xdo.template.FOProcessor][STATEMENT] clearInputs(Object) done. All inputs are cleared.
    [050510_021134126][oracle.apps.xdo.template.FOProcessor][STATEMENT] End Memory: max=15744MB, total=237MB, free=121MB

  • Error message when generating PDF from PageMaker

    Hello, Unfortunately my client is still using PageMaker, despite the fact that it is no longer supported. Usually, I have no problem, but this is the error I have had today:
    %%[ Error: typecheck; OffendingCommand: get; ErrorInfo: CharOffsets fonts/TimesNewRomanPSMT%%[ Flushing: rest of job (to end-of-file) will be ignored ]%%
    %%[ Warning: PostScript error. No PDF file produced. ] %%
    I'm on Vista, with Acrobat 8.1.3 and I'm printing to PDF from PageMaker 7. It seems to be a font problem, but I don't know how to solve it.
    Any help would be much appreciated! Thanks!

    Finally managed to get the first two of the 3 books (making up the full publication) printed by doing "Export". The third one, which has been causing all the trouble has started giving me the font message again:
    %%[ Error: typecheck; OffendingCommand: get; ErrorInfo: CharOffsets fonts/TimesNewRomanPSMT%%[ Flushing: rest of job (to end-of-file) will be ignored ]%%
    %%[ Warning: PostScript error. No PDF file produced. ] %%
    I had ensured that the PDF box said "warn and continue".
    I also get a dialog box telling me that only even pages will be printed, although I have specified even/uneven in the print dialog, and that blank pages will not be printed, although I have checked the blank page box.
    Have tried to "Print" to PS and I have managed to generate a PS file with only a message telling me that Helvetica Neue could not be incorporated, which is fine. However, if I then try to create a PDF, I get the message above. Does this mean that my problem is with Distiller rather than in the file?
    I have never had this problem before, and am baffled.

Maybe you are looking for

  • Seeking advice regarding networked attached drive

    I am considering two options to share our family's EyeTV library, 1080i home videos, photos, and iTunes music over our home network of several Macs. We have one G4 Mac Mini running OS 10.4.8 (the last OS that runs Classic), but only OS 10.6.x / 10.7.

  • IOS 8.3 and file system - lost access

    Since updating to iOS 8.3 I've lost access to my iPad's file system using iFunbox and various file explorers using both PC and Mac. It seems that a sandbox is being enforced in a way that even prevents reading of files or deletion of junk files (whic

  • Why can't I assign hardware and guest os profiles to servers in the new SCVMM 2012 Service Templates?

    Trying to learn SCVMM 2012, but I'm confused about how Guest OS and Hardware Profiles work with the new 2012 Service Templates. I create a Hardware Profile and a Guest OS Profile. Then I open the Create VM Template wizard. In this wizard I can assign

  • Adding a web tier

    I have to add a web node to our current Oracle applications. Currently we have a single node installation and I want to add a web tier on a separate node for external use. How do I install a web tier on a separate node and then configure it with the

  • BT Hub broad band light goes from blue to amber wh...

    BT Hub broad band light goes from blue to amber whenever phone rings and temporarily drops internet.  After a short period of time it resets itself.  I use a VPN to work from home into office and it drops this as well which is very frustrating when o