पीईपीडीएफ 2 मर्जट्रांसलेटेड पेज ने पृष्ठों को सही तरीके से मर्ज नहीं किया

मैं 2 पीडीएफ पृष्ठों को एक में मर्ज करने के लिए पीईपीडीएफ 2 का उपयोग करने की कोशिश करता हूं।

Here pdf example files http://ge.tt/9IvaIo01

लेकिन जब मैं विलय करने की कोशिश करता हूं, तो मैं प्रत्येक पृष्ठ की प्रति को ऊपर और नीचे से कॉपी करता हूं। यहां नमूना जो दर्शाता है कि पेज 0 और पेज 1 पर mergeTranslatedPage का उपयोग करते समय आप पृष्ठ 0 की 2 प्रति और पेज 1 के दो को दोबारा प्राप्त करते हैं।

शायद यह मेरी गलती या गलतफहमी है। धन्यवाद।

from PyPDF2 import PdfFileReader,PdfFileWriter
import os

api = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'api')
input = PdfFileReader(file(api+"/example_doc_in.pdf",'rb'))
output = PdfFileWriter()
#Some logic with merging page
input.getPage(0).mergeTranslatedPage(page2=input.getPage(1),tx='0',ty='-384')
output.addPage(input.getPage(0))
outputStream = file(api+'/example_doc_out.pdf','wb')
output.write(outputStream)
0
जोड़ा संपादित
विचारों: 1

1 उत्तर

तो https://www.freelancer.com/u/ils7.html के लिए धन्यवाद बग खोजने के लिए समय बिताना। समाधान है: आपको pdf.py में _mergeResources फ़ंक्शन को प्रतिस्थापित करने की आवश्यकता है

साथ में:

def _mergeResources(res1, res2, resource):
        newRes = DictionaryObject()
        newRes.update(res1.get(resource, DictionaryObject()).getObject())
        page2Res = res2.get(resource, DictionaryObject()).getObject()
        renameRes = {}
        for key in page2Res.keys():
            if newRes.has_key(key) and newRes[key] == page2Res[key]:
                newname = NameObject(key + "renamed")
                renameRes[key] = newname
                newRes[newname] = page2Res[key]
            elif not newRes.has_key(key):
                newRes[key] = page2Res.raw_get(key)
        return newRes, renameRes
    _mergeResources = staticmethod(_mergeResources)

यह कोड, त्रुटि `में थी

newRes[key] == page2Res[key]:` 

यह जगह थी:

newRes[key] != page2Res[key]:`

आईल्स के लिए फिर से धन्यवाद

0
जोड़ा