class mineTest
{
string pdfTemplate = @"c:\us.pdf";
public mineTest(Customer c, string output)
{
StreamReader sr = new StreamReader(pdfTemplate);
StreamWriter sw = new StreamWriter(output);
string content = sr.ReadToEnd();
content.Replace("(Customer name)/DA(/Verdana 10 Tf 0 g)/FT/Tx/Type/Annot/MK<<>>/V()/AP<</N 13 0 R>>>>", "(Customer name)/DA(/Verdana 10 Tf 0 g)/FT/Tx/Type/Annot/MK<<>>/V(John Johnson)/AP<</N 13 0 R>>>>");
sw.Write(content);
sw.Close();
sr.Close();
}
}
Why does the above code fail at producing a valid PDF?
PDF files are binary. You are reading it as text, then re-writing the text. As SLaks also points out, you’re not even doing anything with the replaced text.
Use a PDF Library. Try PDFSharp.