Tôi đã tìm kiếm trên Internet trong 2 tuần và tìm thấy một số giải pháp thú vị cho vấn đề của tôi, nhưng dường như không có câu trả lời.iTextSharp Thay thế văn bản trong PDF hiện tại mà không mất hình thành
Mục tiêu của tôi là để làm folowing:
Tôi muốn tìm một văn bản trong một tĩnh PDF-File và thay thế văn bản này với văn bản khác. Tôi muốn giữ thiết kế nội dung. Nó có thực sự khó không?
Tôi tìm thấy một cách nhưng tôi bị mất toàn bộ thông tin:
using (PdfReader reader = new PdfReader(path))
{
StringBuilder text = new StringBuilder();
for (int i = 1; i <= reader.NumberOfPages; i++)
{
text.Append(PdfTextExtractor.GetTextFromPage(reader, i));
text.Replace(txt_SuchenNach.Text, txt_ErsetzenMit.Text);
}
return text.ToString();
}
Các thử thứ hai tôi đã có được cách tốt hơn, nhưng cần các lĩnh vực nơi tôi có thể thay đổi nội dung bên trong:
string fileNameExisting =path;
string fileNameNew = @"C:\TEST.pdf";
using (FileStream existingFileStream = new FileStream(fileNameExisting, FileMode.Open))
using (FileStream newFileStream = new FileStream(fileNameNew, FileMode.Create))
{
// PDF öffnen
PdfReader pdfReader = new PdfReader(existingFileStream);
PdfStamper stamper = new PdfStamper(pdfReader, newFileStream);
var form = stamper.AcroFields;
var fieldKeys = form.Fields.Keys;
foreach (string fieldKey in fieldKeys)
{
var value = pdfReader.AcroFields.GetField(fieldKey);
form.SetField(fieldKey, value.Replace(txt_SuchenNach.Text, txt_ErsetzenMit.Text));
}
// Textfeld unbearbeitbar machen (sieht aus wie normaler text)
stamper.FormFlattening = true;
stamper.Close();
pdfReader.Close();
}
này giữ định dạng của phần còn lại của văn bản và chỉ thay đổi văn bản tìm kiếm của tôi. Tôi cần một giải pháp cho văn bản KHÔNG ở trong một Textfield.
cảm ơn tất cả các câu trả lời của bạn và sự trợ giúp của bạn.
"Có thực sự khó không?" Có, nói chung nó là. Bạn có biết về * font subsetting *? Điều gì sẽ xảy ra nếu bạn chèn một ký tự không nằm trong tập hợp con hiện có? Bạn sẽ cần tìm ra phông chữ nào được sử dụng ban đầu (không phải lúc nào cũng tầm thường) và sau đó * có * phông chữ đó trên hệ thống của bạn. (Có những vấn đề khác hơn thế này - tôi thấy đây là một câu hỏi trùng lặp.) – usr2564301
Hi Jongware, Tôi biết đã có một bài đăng như tôi, nhưng không có bất kỳ "Có thể" -Code và câu trả lời "KHÔNG" với câu trả lời không thực sự là một câu trả lời hay. =) Nhưng cảm ơn bạn, đã bình luận của bạn. Tôi ghét PDF –
"Không thể thực hiện được" * là * một câu trả lời hay. Bất kể bạn tìm kiếm trên internet bao lâu, bạn không thể tìm thấy một phương pháp để đi bộ từ Anh sang Mỹ. – usr2564301