19

When viewing a PDF file on GitHub, there seems to be no way to have the browser simply display the file as opposed to downloading it.

None of these links work, and these are the only ones I'm able to get to (or derive from the behaviour of working with source code):

20

Github uses content-disposition: attachment for PDFs, which downloads the file automatically on github.com. You can host the file on a static page provided by GitHub which can link to this file and update as you update the PDF. For that, you can see github pages.

Summary

  • Create a repo named USERNAME.github.io.
  • In that repo, click Settings then click Automatic Page Generator, then complete the wizard to publish a User Page.
  • Go back to your content repo and click Settings then click Automatic Page Generator, then complete the wizard to publish a Project Page. (Logically, the project page's files would go in a special directory but GitHub puts them in a gh-pages branch. Don't merge that branch to/from master.)
  • Sync the gh-pages branch to your computer then copy in your PDFs:

    git checkout gh-pages
    git checkout master -- 'docs/*.pdf'

  • Commit the changes and push them to GitHub.
  • Now go back to the repo on GitHub and use the Automatic Page Generator to edit the Project Page, adding links to these PDFs of the form:

    [Intro.pdf](http://USERNAME.github.io/REPONAME/docs/Intro.pdf).

  • Republish the Project Page.
  • Using Pages is actually a pretty clever work-around! If there is no other way around this by noon tomorrow, this will be good enough. :) – Sean Allred Aug 17 '13 at 4:53
  • Have you ever found a way to do this without using Github Pages? The problem we're facing is the fact that Github Pages are necessarily public, while the PDFs we wish to include are private. – Joost Feb 25 '15 at 12:41
  • @Joost no, I haven't tried to make PDFs private. Your best bet with github would be to create a private repo that is a github pages repo and then make the URL hard to discover (which is not really private, just harder to find). – Muhammad Usman Mar 4 '15 at 18:57
  • 3
    Recently GitHub introduced PDF Viewing. – Ionică Bizău Apr 3 '15 at 13:50
  • 1
    An alternative is to use Google Docs as in docs.google.com/viewer?url=https://raw.githubusercontent.com/… – Steven Shaw May 23 '15 at 1:32
11

Use Google Docs viewer with a url like:

https://docs.google.com/viewer?url=${link_to_raw_pdf}

e.g.

https://docs.google.com/viewer?url=https://raw.githubusercontent.com/degoes-consulting/lambdaconf-2015/master/speakers/jdegoes/intro-purescript/presentation.pdf

https://docs.google.com/viewer?url=https://raw.githubusercontent.com/degoes-consulting/lambdaconf-2015/master/speakers/jdegoes/intro-purescript/presentation.pdf

  • Very useful trick. +1. I would some details about the correct breakdown of the GitHub address (Namely how to extract the address of a certain PDF). Thank You. – Royi Aug 1 '17 at 18:38
  • Copy the link from the "Download" button. i.e. right-click, copy link address. – Steven Shaw Aug 1 '17 at 23:05
5

Jupyter's nbviewer handles the task. Just paste the URL to your GitHub hosted PDF into http://nbviewer.jupyter.org/.

For example, here is a PDF that I host on GitHub rendered in the browser.

  • 1
    This looks promising but I keep getting 503 errors when I try to use it – user5359531 Nov 29 '16 at 15:36
3

As of March 17, 2015 GitHub now renders PDF documents inline in the web interface.

Reference: PDF Viewing

  • 2
    It does but it's not as good as the experience in Chrome – Steven Shaw May 23 '15 at 1:31
  • @StevenShaw perhaps, but i don't use chrome :) the same principle applies for safari i suppose, but given my original Q, this still answers the question :) – Sean Allred May 23 '15 at 2:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.