title: using ITextSharp to extract and update links in an existing PDF
body: <p>I need to post several (read: a lot) PDF files to the web but many of them have hard coded file:// links and links to non-public locations.  I need to read through these PDFs and update the links to the proper locations.  I've started writing an app using itextsharp to read through the directories and files, find the PDFs and iterate through each page.  What I need to do next is find the links and then update the incorrect ones. </p>
  
  <pre><code>string path = "c:\\html";
  DirectoryInfo rootFolder = new DirectoryInfo(path);
  
  foreach (DirectoryInfo di in rootFolder.GetDirectories())
  {
      // get pdf
      foreach (FileInfo pdf in di.GetFiles("*.pdf"))
      {
          string contents = string.Empty;
          Document doc = new Document();
          PdfReader reader = new PdfReader(pdf.FullName);
  
          using (MemoryStream ms = new MemoryStream())
          {
              PdfWriter writer = PdfWriter.GetInstance(doc, ms);
              doc.Open();
  
              for (int p = 1; p &lt;= reader.NumberOfPages; p++)
              {
                  byte[] bt = reader.GetPageContent(p);
  
              }
          }
      }
  }
  </code></pre>
  
  <p>Quite frankly, once I get the page content I'm rather lost on this when it comes to iTextSharp.  I've read through the itextsharp examples on sourceforge, but really didn't find what I was looking for.</p>
  
  <p>Any help would be greatly appreciated.</p>
  
  <p>Thanks.</p>