2009-04-27 35 views
6

Tôi đang sử dụng itextsharp để tạo tệp PDF nhưng tôi cần phải thay đổi một số văn bản động. Tôi biết rằng nó có thể thay đổi nếu có bất kỳ AcroField, nhưng PDF của tôi doen có bất kỳ của nó. Nó chỉ có một số văn bản thuần túy và tôi cần phải thay đổi một số văn bản.Có cách nào để thay thế văn bản trong tệp PDF bằng itextsharp không?

Có ai biết cách thực hiện không?

Trả lời

4

Thực ra, tôi có một bài đăng trên blog về cách thực hiện! Nhưng như IanGilham nói, nó phụ thuộc vào việc bạn có kiểm soát được bản PDF gốc hay không. Ý tưởng cơ bản là bạn thiết lập một biểu mẫu trên trang và thay thế các trường biểu mẫu bằng văn bản bạn muốn. (Bạn có thể tạo kiểu để biểu mẫu không giống như biểu mẫu)

Nếu bạn không có quyền kiểm soát PDF, hãy cho tôi biết cách thực hiện!

Dưới đây là một liên kết đến toàn bộ bài:

Using a template to programmatically create PDFs with C# and iTextSharp

+2

Trừ khi tôi bỏ lỡ điều gì đó, bài đăng trên blog đó không hiển thị cách sửa đổi văn bản trong PDF. – Cocowalla

+0

Có, bạn đang thiếu toàn bộ bài đăng! Nếu bạn nhìn vào mã, nó sẽ thay thế văn bản được tham chiếu bởi các khóa của chúng trong một biểu mẫu. –

+0

@JohnBubriski Bạn có lẽ có một ví dụ về một hình thức không thay thế văn bản? – Frederiek

2

Tôi chưa sử dụng itextsharp, nhưng tôi đã sử dụng PDFNet SDK để khám phá nội dung của một tệp PDF lớn để bản địa hóa trong vài tuần qua.

Tôi muốn nói rằng những gì bạn yêu cầu là hoàn toàn có thể đạt được, nhưng khó khăn như thế nào sẽ phụ thuộc hoàn toàn vào mức độ kiểm soát của bạn đối với chất lượng của các tệp. Trong trường hợp của tôi, các tệp có thể được tạo từ bất kỳ kết hợp hình ảnh, văn bản nào theo thứ tự ngẫu nhiên, bảng, biểu mẫu, đường dẫn, đồ họa pixel đơn và trang được quét, một số được tạo từ hàng trăm hình ảnh nhỏ hơn. Hãy nói rằng chúng ta đang vui vẻ với nó.

Trong cách thực hiện PDFTron, bạn sẽ phải triển khai trình xem (mẫu có sẵn) và thêm một số mã vào lựa chọn văn bản. Với sự phức tạp của định dạng, có thể cần thiết để thực hiện một trình soạn thảo đơn giản trong hộp thoại phụ với khả năng mở rộng vùng chọn sang dòng tiếp theo (hoặc bất kỳ đối tượng cơ bản nào khác được sử dụng để tạo văn bản). Chuỗi sau đó có thể được chỉnh sửa và áp dụng bằng cách sao chép toàn bộ trang của tài liệu vào một trang mới, thay thế các phần tử đã chọn bằng chuỗi mới của bạn. Bạn có lẽ sẽ phải làm một số toán học để có được điều này để làm việc tốt mặc dù, như chỉ là về tất cả mọi thứ trong PDF được đặt trên trang bằng phương tiện của một affine transform.

Chúc may mắn. Tôi chắc chắn có những người ở đây với một số kinh nghiệm của itextsharp và PDF nói chung.

+0

Cảm ơn Ian! Tôi sẽ xem qua nó! :-) – AndreMiranda

Các vấn đề liên quan