Tôi làm cách nào để kết hợp nhiều tệp PDF thành một tệp PDF mà không có thành phần của bên thứ 3?Kết hợp các tệp PDF C#
Trả lời
AFAIK C# không có hỗ trợ tích hợp để xử lý PDF nên những gì bạn đang yêu cầu không thể thực hiện được nếu không sử dụng thành phần của bên thứ 3 hoặc thư viện COTS.
Về thư viện có vô số khả năng. Chỉ cần chỉ một vài ví dụ:
http://csharp-source.net/open-source/pdf-libraries
http://www.codeproject.com/KB/graphics/giospdfnetlibrary.aspx
.NET Framework không chứa khả năng sửa đổi/tạo các file PDF. Bạn cần một thành phần bên thứ 3 để thực hiện những gì bạn đang tìm kiếm.
Tôi không nghĩ bạn có thể. Thành phần nguồn mở PDFSharp có chức năng đó và một số đẹp source code sample on file combining
Như những người khác đã nói, không có gì được tích hợp để thực hiện tác vụ đó. Sử dụng iTextSharp với số example code này.
Tôi nghĩ ai đó nên luôn ghi chú rằng iTextSharp sử dụng giấy phép AGPL, yêu cầu bạn giải phóng mã nguồn của mình với việc sử dụng tài liệu iTextSharps một cách thích hợp. Tuy nhiên, họ có giấy phép thương mại. Hãy cẩn thận cách bạn sử dụng nó! – Encryption
Mặc dù đã được nói, bạn không thể thao tác các tệp PDF với các thư viện dựng sẵn của Khuôn khổ .NET. Tuy nhiên, tôi có thể đề xuất iTextSharp, là cổng .NET của Java iText. Tôi đã chơi xung quanh với nó, và thấy nó là một công cụ rất dễ sử dụng.
ITextSharp là con đường để đi
Tôi không nghĩ rằng .NET Framework chứa ví dụ như thư viện. Tôi đã sử dụng iTextsharp với C# để kết hợp các tệp pdf. Tôi nghĩ iTextsharp là cách dễ nhất để làm điều này. Đây là mã tôi đã sử dụng.
string[] lstFiles=new string[3];
lstFiles[0][email protected]"C:/pdf/1.pdf";
lstFiles[1][email protected]"C:/pdf/2.pdf";
lstFiles[2][email protected]"C:/pdf/3.pdf";
PdfReader reader = null;
Document sourceDocument = null;
PdfCopy pdfCopyProvider = null;
PdfImportedPage importedPage;
string [email protected]"C:/pdf/new.pdf";
sourceDocument = new Document();
pdfCopyProvider = new PdfCopy(sourceDocument, new System.IO.FileStream(outputPdfPath, System.IO.FileMode.Create));
//Open the output file
sourceDocument.Open();
try
{
//Loop through the files list
for (int f = 0; f < lstFiles.Length-1; f++)
{
int pages =get_pageCcount(lstFiles[f]);
reader = new PdfReader(lstFiles[f]);
//Add pages of current file
for (int i = 1; i <= pages; i++)
{
importedPage = pdfCopyProvider.GetImportedPage(reader, i);
pdfCopyProvider.AddPage(importedPage);
}
reader.Close();
}
//At the end save the output file
sourceDocument.Close();
}
catch (Exception ex)
{
throw ex;
}
private int get_pageCcount(string file)
{
using (StreamReader sr = new StreamReader(File.OpenRead(file)))
{
Regex regex = new Regex(@"/Type\s*/Page[^s]");
MatchCollection matches = regex.Matches(sr.ReadToEnd());
return matches.Count;
}
}
Điều này có đúng hay hữu ích, vui lòng chấp nhận câu trả lời –
Cảm ơn bạn! Phút cuối cùng tiết kiệm khi tôi cần nó. nó cũng nhanh! –
- 1. Kết hợp các tệp pdf với các dấu trang
- 2. Hợp nhất các tệp PDF
- 3. PDF Kết hợp với iTextSharp
- 4. Hợp nhất các tệp PDF trên iOS
- 5. Kết hợp hình ảnh png vào một tệp pdf
- 6. Kết hợp các tệp RTF
- 7. Kết hợp các tệp PDF và giữ lại các tính năng mở rộng trong Acrobat Reader
- 8. Kết hợp hai (hoặc nhiều) PDF
- 9. pypdf Kết hợp nhiều file PDF thành một pdf
- 10. Có thể kết hợp nhiều tệp pdf thành một tệp pdf có lập trình trong iphone không?
- 11. Có cách nào để kết hợp các tệp PDF trong pdf.js không?
- 12. Kết nối các tệp PDF với các trang PDF trả về PDFSharp
- 13. FPDI hợp nhất các tệp PDF, dòng lạ xuất hiện
- 14. kết hợp tệp pdf với ghostscript, cách bao gồm tên tệp gốc?
- 15. Có thể kết hợp một loạt tệp PDF thành một tệp bằng Ruby không?
- 16. Kết hợp các tệp Excel vào một
- 17. Imagemagick kết hợp 2 tệp PDF được tạo thành 1 tệp nhiều trang
- 18. chia PDF thành nhiều tệp trong C#
- 19. Kết hợp các tệp trong Notepad ++
- 20. Kết hợp các tệp .js với CDN
- 21. Kết hợp các tệp trong PHP
- 22. kết hợp các tệp âm thanh và video riêng biệt thành một tệp C++
- 23. Các mảng kết hợp trong C
- 24. kết hợp nhiều tệp pdf trong linux bằng cách sử dụng tập lệnh?
- 25. Kết hợp tệp nâng cao của Windows
- 26. Làm cách nào để kết hợp thư ở đầu tệp PDF?
- 27. Làm phẳng các tệp PDF trong PHP?
- 28. Kiểm tra xem Tệp PDF có hợp lệ không (Python)
- 29. Làm cách nào để hợp nhất các tệp PDF với Perl?
- 30. lưu trữ tệp PDF trong ứng dụng C#
mẫu trên trang web mới của họ: http://www.pdfsharp.net/wiki/PDFsharpSamples.ashx –
Tôi biết điều này là cũ, nhưng tôi theo dõi câu trả lời này và phát hiện ra rằng PDFSharp vẫn chưa thực hiện hỗ trợ cho các phiên bản PDF hiện đại hơn ... bạn có thể cần phải nhảy qua các vòng để làm cho nó hoạt động với tất cả các tệp PDF. Hãy xem điều này trước khi nhảy vào: http://forum.pdfsharp.net/viewtopic.php?f=2&t=693 –