Printing to PDF using Telerik PDF utilities

8 posts, 2 answers
  1. Lindsay Miles
    Lindsay Miles avatar
    72 posts
    Member since:
    Dec 2009

    Posted 24 Oct 2013 Link to this post

    Hello,

    I'm trying to build a print mechanism for my SL app and have so many issues with the MS PrintDocument, I thought I'd seek help using the Telerik PDF functionality if possible.

    In summary, my app is a drawing app. I have a usercontrol (diagramCtl) with a canvas and a couple textboxes. the user draws on the fixed-size canvas and adds data to the text boxes. The user can open as many diagrams as they want and each is held in its own tab.

    I want to take a diagram with the text data and print to pdf AND also be able to take all diagrams and print to a doc (not necessarily a single page) with as many pages as needed.

    I already build the page-data in code and it prints a single page using the Microsoft PrintDocument. 

    I want to use that page-data to send to your pdf utilities and export a pdf file as the Microsoft PrintDocument just does not do well once we need multiple pages.

    Is there a sample on how to do this in Silverlight using your PDF utilities?
    I've no idea what is possible with your pdf utilities in Silverlight.

    Thanks
  2. Answer
    Petya
    Admin
    Petya avatar
    975 posts

    Posted 29 Oct 2013 Link to this post

    Hello,

    There is a control in the RadControls for Silverlight suite which can produce PDF documents and it is called RadRichTextBox. In order to utilize it in your scenario you can do one of the following:
    • Create a snapshot of the user control (for example, by creating a RadBitmap). Images can be added to a RadDocument as InlineImages.
      RadBitmap bitmap = new RadBitmap(myFrameworkElement);
      ImageInline image = new ImageInline(bitmap.Bitmap);
      The generated document can be exported to any of the supported by the control formats, including PDF.
    • Build a RadDocument at run time based on your user control. Instead of simply taking a picture of the control you could create paragraphs, images, tables, etc. document elements and build a document according to RadRichTextBox's document hierarchy. The resulting document you can export to PDF using the respective format provider. You can find some guidelines on how to create a document run-time in this help article.

    I hope this is helpful! Do not hesitate to contact us if you have additional comments or questions.

    Regards,
    Petya
    Telerik
    TRY TELERIK'S NEWEST PRODUCT - EQATEC APPLICATION ANALYTICS for SILVERLIGHT.
    Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.
    Sign up for Free application insights >>
  3. DevCraft banner
  4. Lindsay Miles
    Lindsay Miles avatar
    72 posts
    Member since:
    Dec 2009

    Posted 29 Oct 2013 Link to this post

    Petya, thanks for your help and suggestions on this.
    I like option 2.

    Further question(s):

    Once I've added to a RadRichTextBox in the Visual Tree (as the documentation suggests), how would I handle multiple pages?
    Does the RadRichTextBox and RadDocument handle that for me? (which I doubt).

    Printing multiple images along with text data requires multiple pages. I need to bump an image to the next page if no space available on current page (in the printing cycle).

    I know you don't support ms products but here's some explanation why I'm looking to your products as a solution.
    Using the microsoft PrintDocument, one can check page size etc and set the HasMorePages flag appropriately (which is so buggy and unreliable MS should be embarrassed) and it creates another page or ends printing (again - highly unreliable). Also, if I print the same doc a number of times with no changes, I get a number of prints but all different. A page missing, an image missing, never the same consistently.

    My only thought is it must be timing due to the asynchronous nature of SL. Processes ending before others etc, thus varied printed docs...

    Any further feedback on multiple pages would be useful!

    Thanks
  5. Answer
    Petya
    Admin
    Petya avatar
    975 posts

    Posted 30 Oct 2013 Link to this post

    Hi,

    RadRichTextBox has three layout modes - Flow, FlowNoWrap and Paged. When in Paged mode the control automatically layouts the document shown in it in pages. To your other questions, if the current page does not have enough space for an image the image is moved to a separate page as well.

    I suggest you check how the control behaves with different types of document in our online demos here. Should any other questions arise, feel free to contact us again.

    Regards,
    Petya
    Telerik
    TRY TELERIK'S NEWEST PRODUCT - EQATEC APPLICATION ANALYTICS for SILVERLIGHT.
    Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.
    Sign up for Free application insights >>
  6. Scott
    Scott avatar
    13 posts
    Member since:
    Jul 2012

    Posted 27 Nov 2013 Link to this post

    Hello,

    It appears that both of the methods you show to create a PDF of a RadDiagram end up using a rasterized image. Is there any mechanism that would allow me to get the RadDiagram into a PDF as vectors (line art and text)? That way when a user zooms in on the PDF RadDiagram, it scales well and would not get pixelized.

    Suggestions?

    Thanks,

    Scott

  7. Petya
    Admin
    Petya avatar
    975 posts

    Posted 29 Nov 2013 Link to this post

    Hello Scott,

    Unfortunately at this point such mechanism is not available. We will consider including this for one of our next releases.

    Let us know if you have any additional feedback.

    Regards,
    Petya
    Telerik
    TRY TELERIK'S NEWEST PRODUCT - EQATEC APPLICATION ANALYTICS for SILVERLIGHT.
    Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.
    Sign up for Free application insights >>
  8. Ramkumar
    Ramkumar avatar
    12 posts
    Member since:
    Nov 2013

    Posted 03 Dec 2013 Link to this post

    Hi,
      Is that possible to covert the data entered in the textbox to pdf? please anyone help me this task!
  9. Petya
    Admin
    Petya avatar
    975 posts

    Posted 06 Dec 2013 Link to this post

    Hello Ramkumar,

    You can use either one of the approaches I initially suggested here and build a RadDocument in one of the following ways:
    • Take a snapshot of the control and insert it as an image in RadDocument.
    • Create a RadDocument run-time following these guidelines. In the particular case of TextBox I'd suggest using this approach as the control already contains content (text) which can be used to easilly create a RadDocument.
    Once the document is ready you can export it to PDF using the respective format provider.

    If you encounter any difficulties implementing this, please do not hesitate to get back to us.

    Regards,
    Petya
    Telerik
    TRY TELERIK'S NEWEST PRODUCT - EQATEC APPLICATION ANALYTICS for SILVERLIGHT.
    Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.
    Sign up for Free application insights >>
Back to Top
DevCraft banner