Если я сохранить файл это загружаемый PDF бросками испорченный формат msg.Thing, если я удалить ниже код строка resumetext = ParsePdf (resumedoc.PostedFile.InputStream); Файл Pdf сохраняется отлично. Я могу открыть его. Если я добавлю вышеуказанный код, файл Pdf будет сохранен как поврежденный формат.Itextsharp Pdf в текст извлечения
Я могу отлично прочитать текст в обоих условиях. Пожалуйста, помогите мне разобраться в проблеме.
string ext = System.IO.Path.GetExtension(FileUp.PostedFile.FileName);
if (ext == ".pdf")
{
//resumedoc is input type='file'
string resumetext = ParsePdf(resumedoc.PostedFile.InputStream);
string Filename = "dddd" + ext;
string FilePath = "E:\\temp\\" + Filename;
FileUp.PostedFile.SaveAs(FilePath);//Problem arises only here
Response.Write("Uploaded");
}
public string ParsePdf(Stream inFileName)
{
StringBuilder text = new StringBuilder();
PdfReader pdfReader = new PdfReader(inFileName);
for (int page = 1; page <= pdfReader.NumberOfPages; page++)
{
try
{
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
//ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
string currentText = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy);
text.Append(System.Environment.NewLine);
currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)));
text.Append(currentText);
}
catch { }
}
return text.ToString();
}
Habe вы стиснутые первый вызова 'FileUp.PostedFile.SaveAs (Filepath)' и только после этого 'строка resumetext = ParsePdf (resumedoc.PostedFile.InputStream)'? – mkl
Не связано с вашей проблемой, но, пожалуйста, смотрите это сообщение, объясняя, почему вы никогда не должны использовать 'Encoding.UTF8.GetString (ASCIIEncoding.Convert (Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes (currentText))); http : //stackoverflow.com/a/10191879/231316 –