MaxReve نشر 17 سبتمبر 2015 أرسل تقرير نشر 17 سبتمبر 2015 هل هنالك مكتبات في لغة البايثون للتعامل مع ملفات pdf ؟ وكيف أستطيع استخدامهم ؟ اقتباس
0 هشام رزق الله نشر 17 سبتمبر 2015 أرسل تقرير نشر 17 سبتمبر 2015 هنالك عدة مكتبات للتعامل مع ملفات pdf في نظام لينكس والتي من أهمها مكتبتي pyPdf و pdfrw.تتميز مكتبة pyPdf بسهول التعامل مع ملفات pdf لكن لديها نقطة سلبية واحد فهذه المكتبة توقفت عن التطوير منذ مدة.مثال يوضح عمل المكتبة:from pyPdf import PdfFileWriter, PdfFileReader output = PdfFileWriter() input1 = PdfFileReader(file("document1.pdf", "rb")) # print the title of document1.pdf print "title = %s" % (input1.getDocumentInfo().title) # add page 1 from input1 to output document, unchanged output.addPage(input1.getPage(0)) # add page 2 from input1, but rotated clockwise 90 degrees output.addPage(input1.getPage(1).rotateClockwise(90)) # add page 3 from input1, rotated the other way: output.addPage(input1.getPage(2).rotateCounterClockwise(90)) # alt: output.addPage(input1.getPage(2).rotateClockwise(270)) # add page 4 from input1, but first add a watermark from another pdf: page4 = input1.getPage(3) watermark = PdfFileReader(file("watermark.pdf", "rb")) page4.mergePage(watermark.getPage(0)) # add page 5 from input1, but crop it to half size: page5 = input1.getPage(4) page5.mediaBox.upperRight = ( page5.mediaBox.getUpperRight_x() / 2, page5.mediaBox.getUpperRight_y() / 2 ) output.addPage(page5) # print how many pages input1 has: print "document1.pdf has %s pages." % input1.getNumPages() # finally, write "output" to document-output.pdf outputStream = file("document-output.pdf", "wb") output.write(outputStream) outputStream.close()وهنالك أيضا مكتبة pdfrw والتي تتميز بالكثير من الخصائص في التعامل مع ملفات PDF، فعلى سبيل المثال يمكنك دمج ملفين PDF عن طريق الشيفرة البرمجية التالي:from pdfrw import PdfReader, PdfWriter pages = PdfReader(r'C:\Users\mdriscoll\Desktop\1.pdf', decompress=False).pages other_pages = PdfReader(r'C:\Users\mdriscoll\Desktop\2.pdf', decompress=False).pages writer = PdfWriter() writer.addpages(pages) writer.addpages(other_pages) writer.write(r'C:\Users\mdriscoll\Desktop\out.pdf') رابط مكتبة pyPDFرابط مكتبة pdfrw اقتباس
السؤال
MaxReve
هل هنالك مكتبات في لغة البايثون للتعامل مع ملفات pdf ؟ وكيف أستطيع استخدامهم ؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.