Print a List Item in SharePoint 2010 and SharePoint 2013
Monday, 06 June 2011 12:57
Posted by Derek Halstead


You may need to print a single list item in SharePoint 2010 or SharePoint 2013. However, this functionality does not exist unless you print with Excel, which isn’t what you are looking for anyway.

So, how do we go about accomplishing this?

  • Open a List;
  • Hit the List tab;
  • Click the Form Web Parts dropdownlist;
  • Choose “Default Display Form”;
  • At the top of the Page – Insert Tab, Click the Web Part button to add a new Content Editor web part (CEWP);
  • From Categories choose “Media and Content” > “Content Editor” and add it to the main section of the page;
  • Click the “Click here to add content” and then click the HTML button in the Ribbon to bring up the Edit source code window;
  • In the window add the following code to display a Print Button at the top of the list item window.
    <code>
    <input type=”button” value=” Print this page ” onclick=”window.print();return false;” />
    </code>
  • Ignore any warnings;
  • Next, hit the Page tab at the top of the page to view the List item. You should see the Print button;
  • Hit the Print button to print just the list item.


So there you go, with just a little tweaking you can print a single List item in SharePoint 2010 or SharePoint 2013.

Let us know if this worked for you….

Thanks

Join the Forum discussion on this post





  • David

    This solution worked for me, thanks!

  • Jackie

    Hi,
    I was finally able to get this solution to work! I was so excited when it printed, but then I realized it still printed really small, using only about 1/3 of the page. This looks no different than just using ctrl + P… I was really hoping that this would have somehow made the text bigger. That is one of the complaints I hear often… Any suggestions for that other than just monkeying around with the print options each and every time..?

    Other than that, thanks very much! The print button was a cool feature to add to my List Items.

    • Michele Walklin

      Did you find a solution that prints larger? I have a client asking for it to fill up more of the page.

    • Santricity

       Hi, try this code:

      @media Print   
      {
      BODY {
          LINE-HEIGHT: 160%; BACKGROUND: white; FONT-SIZE: 16pt
      }
      INPUT {
          DISPLAY: none
      }
      .s4-title {
          DISPLAY: none
      }

      }

      • MCurtin

        Could you show the full code that would be placed into the CEWP that includes this suggested code. Im not a developer so not sure where this goes.

      • alan-p

        thanks for the solution. my customer is still not happy, as there is a lot of space wasted in the left and right margins when I print this way. Is there any way to minimize the unwanted gaps so the form is printed on the entire page. I have tried manipulating the margins and increasing the font size as in the code above. The result is that the fonts are large but the print area is still small, spans multiple pages and still looks congested… thanks again for help!

  • http://www.coolwriteups.com CoolAdmin

    Hi Jackie

    The print function above is a way to open the Print window to allow you to print. When I first used it it covered an A4 sheet of paper as expected. So i’m not sure what you mean by increasing the text size??

    Michele: What do you mean by “prints larger”?

    Thanks

    CoolAdmin

  • Cody

    Great solution, I have my content from a SP dialog printing wonderfully.

    Couple more tweaks, however!
    My badge/branding logo shows up in the printout, and so does the form button for closing the window.

    Any advice regarding how I remove these items from the printout?

    • Lisa Groomes

      You can suppress the print button itself by adding a bit of CSS to the content editor web part, right after the … markup:

      @media print
      {
      input, .s4-title {
      DISPLAY: none
      }
      }

      This ensures that, when printing, the tag and the page title won’t be displayed, i.e., they won’t print.

      • Lisa Groomes

        Ack, all the angle brackets went away in my original reply! Let me try again with less-than and more-than markup:

        Insert this right after the <input>…</input> markup

        <style type=”text/css”>
        @media Print
        {
        INPUT, .s4-title {
        DISPLAY: none
        }

        }</style>

        • Lisa Groomes

          Another update: I learned the hard way this afternoon that hiding the <input> for the print button will also hide all fields in your form that are of the type <input>!!

          So…put an id on the input, e.g. <input id=”printButton” >

          Then in the css, suppress ONLY that input item:

          @media Print
          {
          INPUT#printButton, .s4-title {
          DISPLAY: none
          }

  • http://www.coolwriteups.com CoolAdmin

    Hi Cody

    You might have to create a custom print.aspx page with no branding and use the code above to print.

    Cheers,

    CoolAdmin

  • Tkirby

    I have tried this several times and do you see the PRint button Any ideas?  Is there a solution that I can use for the entire site instead of page by page?

    • CoolAdmin

       Hi Tkirby
      Did you add a web part as described in the example above? Do you see an error message? Can you give us some more details??

  • alan-p

    need larger fonts.. customer complains its too small.. any fix greatly appreciated…

  • Swifty

    Worked a treat thanks

  • pol

    I got the print this page button to show up, but I am not allowed to save. I have full access to this site, could this be due to the version of sharepoint 2010 I am using?

    • pol

      Never mind! Works great. For some reason I thought a huge red-x would indicate that I was not allowed to save. Also, if you copy & paste the remember to have to replace the quotes.

  • cinafre

    I have 11 lists. First list is “Students”, other ten lists are “Class1″, “Class2″… “Class10″. I made a look up filed in each “Classes” list from the “Students” (It looks up from “Students”). In my scenario something like a receipt is needed to submit to every student when he/she signs up to a specific class (any of those classes listed above). In order to show which student is in which class, I inserted a related view item in DispForm.aspx for the “Students” list and inserted those ten related lists for classes in it. Now I have a DispForm.aspx which each time for every item in it displays it’s item + ten lists underneath it and shows the name of the specific student in a class list that his/her name may be enlisted in. The problem is in printing each Students list item (I used the above-mentioned script to put a print button in DispForm.aspx) there is a total A4 paper receipt to print and most of it’s content is useless since the student’s name should only appear in one class, so the other 9 list would be extra and space consuming. How can I only show the list that the student’s name is appeared in and not show all of the related list in DispForm.aspx?
    Any ideas how to make this work smoother?

  • Ahmad

    Hi thank you very much but I get this error:

    Cannot retrieve the URL specified in the Content Link property. For more assistance, contact your site administrator.

    can anyone maybe help me?
    thank you

  • Che

    hi can we pass item version to print with print option ?