Download pdf programmatically

Perplexed picture Perplexed · May 26, 2010 · Viewed 32.2k times · Source

How can I download a PDF and store to disk using vb.NET or C#?

The URL (of the PDF) has some rediection going on before the final PDF is reached.

I tried the below but the PDF seems corrupted when I attempt to open locally,

Dim PdfFile As FileStream = File.OpenWrite(saveTo)
Dim PdfStream As MemoryStream = GetFileStream(pdfURL)
PdfStream.WriteTo(PdfFile)
PdfStream.Flush()
PdfStream.Close()
PdfFile.Flush()
PdfFile.Close()

Answer

Pat picture Pat · May 26, 2010

You can try to use the WebClient (System.Net namespace) class to do this which will avoid any stream work on your side.

The following C# code grabs an IRS form and saves it to C:\Temp.pdf.

using(WebClient client = new WebClient())
{
    client.DownloadFile("http://www.irs.gov/pub/irs-pdf/fw4.pdf", @"C:\Temp.pdf");
}