PDFகளை இணைத்த பிறகு உள்ளடக்க அட்டவணை எங்கு செல்கிறது: முதலில் புக்மார்க் வைத்திருத்தல் விதிகளை வரையறுக்கவும்
ஒன்றிணைக்கும் போது, அசல் கோப்பகத்தை இறக்குமதி செய்ய வேண்டுமா என்பதை முதலில் தீர்மானிக்கவும். நீங்கள் உங்கள் சொந்த உயர்மட்ட உள்ளீட்டை உருவாக்க விரும்பினால், நீங்கள் வெளிப்படையாக import_outline=False ஐ கைமுறையாக மறுகட்டமைப்புடன் இயல்புநிலை இறக்குமதிகளை கலப்பதைத் தவிர்க்க வேண்டும். இது பக்க எண் மற்றும் டைரக்டரி ஆஃப்செட்டை மட்டுமே காட்டுகிறது, மேலும் படிவ புலம் தனிமைப்படுத்தலைக் கையாள்வதில்லை.
பல PDFகளை இணைத்த பிறகு, புக்மார்க்குகள் மற்றும் உள்ளடக்க அட்டவணைகள் அடிக்கடி தவறாகிவிடும்: இடது வழிசெலுத்தல் பட்டி காலியாக இருக்கலாம், மேலும் புக்மார்க்கைக் கிளிக் செய்தால் பிழை பக்கத்திற்குச் செல்லலாம். இந்தக் கட்டுரை டெவலப்பர்கள் மற்றும் ஆவணச் செயலிகளுக்காக எழுதப்பட்டது, அவர்கள் PDFகளைப் பிரிக்க ஸ்கிரிப்ட்களைப் பயன்படுத்த வேண்டும். இதைப் படித்த பிறகு, ஒன்றிணைப்பதற்கு முன் என்ன முடிவு எடுக்க வேண்டும், செயற்கை மாதிரிகள் மூலம் வெளியீட்டை எவ்வாறு சரிபார்க்கலாம் மற்றும் எந்த முடிவுகளை கைமுறையாக மதிப்பாய்வு செய்ய வேண்டும் என்பதை நீங்கள் அறிவீர்கள்.
இங்குள்ள குறியீடுகள் மற்றும் எடுத்துக்காட்டுகள் அனைத்தும் செயற்கை மாதிரிகளைப் பயன்படுத்துகின்றன, இது பக்க எண் மற்றும் அடைவு ஆஃப்செட்டின் செயலாக்க யோசனைகளை மட்டுமே நிரூபிக்கிறது, மேலும் படிவ புலம் தனிமைப்படுத்தப்படாது. இயங்கும் பதிவுகள் ஒரு தனிமைப்படுத்தப்பட்ட சூழலில் மாதிரியின் செயல்திறனை மட்டுமே விளக்குகிறது மற்றும் அனைத்து உண்மையான கோப்புகளின் விளைவுக்கும் உத்தரவாதம் அளிக்காது. முக்கியமான ஆவணங்களைக் கையாளும் முன் அசல்களை வைத்துக் கொள்ளவும்.
PDFகளை இணைத்த பிறகு உள்ளடக்க அட்டவணை எங்கு செல்லும்? ஒரு வாக்கியத்தின் முடிவு
ஒன்றிணைக்கும் போது, அசல் கோப்பகத்தை இறக்குமதி செய்ய வேண்டுமா என்பதை முதலில் முடிவு செய்யுங்கள்; நீங்களே ஒரு உயர்மட்ட உள்ளீட்டை உருவாக்க விரும்பினால், இயல்புநிலை இறக்குமதி மற்றும் கைமுறை புனரமைப்பு ஆகியவற்றைக் கலப்பதைத் தவிர்க்க, import_outline=False ஐ வெளிப்படையாக அமைக்கவும்.
| உங்கள் நிலைமை | பரிந்துரைக்கப்பட்ட நடைமுறைகள் | காரணம் |
|---|---|---|
| மூல கோப்புகளின் புக்மார்க்குகளை வைத்திருக்க வேண்டும் | ஒன்றிணைக்கும் போது அசல் கோப்பகத்தை இறக்குமதி செய்ய தெளிவான முடிவை எடுக்கவும் | இயல்புநிலை நடத்தை கைமுறையாக மறுகட்டமைப்புடன் கலக்கப்படலாம் |
| உங்கள் சொந்த உயர்மட்ட நுழைவாயிலை உருவாக்கவும் | import_outline=False ஐ வெளிப்படையாக அமைக்கவும் | கைமுறையாக மறுகட்டமைப்புடன் கலந்த இயல்புநிலை இறக்குமதிகளைத் தவிர்க்கவும் |
| பல ஆவணங்களைப் பிரித்த பிறகு புக்மார்க்குகள் தவறாக இடம் பெற்றுள்ளன | இரண்டாவது கோப்பின் தொடக்க ஆஃப்செட்டைச் சரிபார்க்கவும் | புக்மார்க் இன்னும் முதல் பக்கத்தை சுட்டிக்காட்டலாம் |
| ஒருங்கிணைந்த முடிவுகளை வழங்க தயாராகுங்கள் | சரிபார்க்க, மொத்த பக்கங்களின் எண்ணிக்கையையும் ஒவ்வொரு உள்ளீட்டுப் பக்கத்தின் எண்ணிக்கையையும் சேர்க்கவும். முரண்பாடு இருந்தால், அது வழங்கப்படாது. | வெற்றிகரமான குறியீடு செயல்படுத்தல் என்பது டெலிவரிகள் கிடைக்கும் என்று அர்த்தமல்ல |
| ஒரே ரீடரை பலமுறை செருக வேண்டும் | ஒவ்வொரு செருகும் முன் reset_translation ஐ அழைக்கவும் | இல்லையெனில், ஒரு இடத்தை மாற்றுவது மற்றொரு இடத்தை பாதிக்கலாம் |
இணைத்த பிறகு அடைவு ஏன் மறைகிறது?
PdfWriter.append() ஐப் பயன்படுத்தி பல PDFகளைப் பிரித்த பிறகு, இடது வழிசெலுத்தல் பட்டி காலியாக இருப்பதை நீங்கள் காணலாம் அல்லது வெளியீட்டு கோப்பைத் திறக்கும்போது புக்மார்க் தவறான பக்கத்திற்குத் தாவுகிறது. இது pypdf மெர்ஜ் செயல்பாடுகளில் உள்ள பொதுவான பிரச்சனை.
சிக்கல் பொதுவாக "ஒன்றிணைதல்" செயலில் இல்லை, ஆனால் மூல கோப்பின் புக்மார்க் (அவுட்லைன்) பக்க எண் அல்லது அசல் ஆவணத்தின் உள் பொருள் குறிப்பை சுட்டிக்காட்டுகிறது. பல ஆவணங்கள் புதிய கோப்பாகப் பிரிக்கப்பட்ட பிறகு, இயற்பியல் பக்க எண்கள் ஈடுசெய்யப்படுகின்றன, ஆனால் பழைய புக்மார்க் மரம் தானாகவே இந்த ஆஃப்செட்களைப் புதுப்பிக்காது.
மிகவும் நுட்பமான மற்றொரு சூழ்நிலை உள்ளது: மூலக் கோப்பு முழுமையான பக்க எண்களுக்குப் பதிலாக பெயரிடப்பட்ட இலக்குகளைப் பயன்படுத்துகிறது, மேலும் வெவ்வேறு மூலக் கோப்புகளில் ஒரே பெயரைக் கொண்ட இலக்குகள் உள்ளன. பின்னர் இணைக்கப்பட்ட கோப்புகள் முந்தைய வரையறையை மேலெழுதும், இதனால் இணைப்பு செல்லாது.
தொகுப்பு எடுத்துக்காட்டு: முதலில் உள்ளீட்டு எல்லை மற்றும் எதிர்பார்க்கப்படும் வெளியீட்டை வரையறுக்கவும்
ஒன்றிணைக்கும் தர்க்கத்தின் உறுதித்தன்மையை சரிபார்க்க, பல்வேறு கட்டமைப்புகளுடன் உண்மையான ஆவணங்களை நம்பாமல், செயற்கை மாதிரிகளின் கட்டுப்படுத்தப்பட்ட தொகுப்பு உருவாக்கப்பட வேண்டும். உதாரணம் சோதனைக்கு இரண்டு மூலக் கோப்புகளை எடுத்துக்கொள்கிறது.
பிழை அல்லது எல்லை உள்ளீட்டு காட்சி: எந்த முன் செயலாக்கமும் இல்லாமல் நேரடியாக இரண்டு கோப்புகளைச் சேர்த்தால், பின்வரும் முடிவுகள் ஏற்படலாம்:
- படிவத்தில் உள்ள ஒரு
user_nameபுலம் மட்டுமே திருத்தக்கூடியது, மற்றொன்று மறைக்கப்பட்டுள்ளது அல்லது தரவு இல்லை. - எல்லா புக்மார்க்குகளும் source_a இன் பக்க வரம்பைச் சுட்டிக்காட்டுகின்றன அல்லது source_b உடன் தொடர்புடைய புக்மார்க்கைக் கிளிக் செய்யும் போது பிழை ஏற்படும்.
இந்த அமைதியான தோல்வி நிரல் செயலிழப்பை விட மிகவும் ஆபத்தானது, ஏனெனில் இது விதிவிலக்கு இல்லாமல் ஆவணத்தின் பயன்பாட்டினை அழிக்கிறது.
தன்னிறைவான கலவை உதாரணம்
எடுத்துக்காட்டாக சார்புகளுக்கு இறக்குமதி பட்டியலைப் பார்க்கவும். குறியீடு நினைவகத்தில் உள்ளீட்டை உருவாக்குகிறது, மேலும் ரன் பதிவுகள் தனித்தனியாக வழங்கப்படுகின்றன மற்றும் அனைத்து உண்மையான கோப்புகளின் உத்தரவாதத்தையும் பிரதிநிதித்துவப்படுத்தாது.
from io import BytesIO
from pypdf import PdfReader, PdfWriter
def source(pages):
writer = PdfWriter()
for _ in range(pages):
writer.add_blank_page(width=200, height=200)
out = BytesIO()
writer.write(out)
return out.getvalue()
writer = PdfWriter()
for title, raw in [("Part A", source(2)), ("Part B", source(1))]:
start = len(writer.pages)
writer.append(PdfReader(BytesIO(raw)), import_outline=False)
writer.add_outline_item(title, start)
out = BytesIO()
writer.write(out)
reader = PdfReader(BytesIO(out.getvalue()))
assert len(reader.pages) == 3
assert len(reader.outline) == 2
assert reader.get_destination_page_number(reader.outline[0]) == 0
assert reader.get_destination_page_number(reader.outline[1]) == 2
ஏற்றுக்கொள்ளும் அளவுகோல்கள் மற்றும் ஒன்றிணைக்கப்பட்ட முடிவுகளுக்கான கைமுறை மதிப்பாய்வு எல்லைகள்
குறியீட்டை வெற்றிகரமாகச் செயல்படுத்தினால், டெலிவரிகள் கிடைக்கின்றன என்று அர்த்தமல்ல. கீழே உள்ள அட்டவணை PDFகளை ஒன்றிணைப்பதற்கான ஏற்றுக்கொள்ளும் கண்காணிப்பு புள்ளிகளை பட்டியலிடுகிறது மற்றும் தானாக சரிபார்க்கக்கூடியவை மற்றும் கைமுறையான தலையீடு தேவைப்படும்வற்றை வேறுபடுத்துகிறது. இந்த தரநிலைகள் எந்த PDF இணைத்தல் கருவியின் வெளியீட்டு சரிபார்ப்புக்கும் பொருந்தும்.
| கவனிக்க | என்ன செய்வது | அனுமானிக்கக் கூடாது |
|---|---|---|
| இணைந்த மொத்த பக்கங்களின் எண்ணிக்கை | சேர்க்கப்பட்ட உள்ளீட்டு பக்கங்களின் எண்ணிக்கையுடன் சரிபார்க்கவும் | முரண்பாடுகள் இருந்தால் வழங்கப்படாது |
| இரண்டாவது பட்டியல் | தொடக்க ஆஃப்செட்டைச் சரிபார்க்கவும் | இன்னும் முதல் பக்கத்தை சுட்டிக்காட்ட முடியவில்லை |
| மூல அடைவு வைத்திருத்தல் கொள்கை | import_outline இன் மதிப்பை தெளிவுபடுத்தவும் | நகல் அடைவுகளைத் தவிர்க்கவும் |
reset_translation முறையையும் கவனியுங்கள். ஒரே PDF இன் வெவ்வேறு பக்கங்களை பலமுறை வெளியீட்டில் செருக விரும்பினால், ஒவ்வொரு செருகும் முன் அதை அழைக்க வேண்டும்; இல்லையெனில், இரண்டாவது செருகல் முதல் இடத்தின் குறிப்பு நகலாக இருக்கும், மேலும் ஒரு இடத்தை மாற்றுவது மற்றொன்றைப் பாதிக்கும். இது குறியீடு மட்டத்தில் ஒரு விவரம், ஆனால் இறுதி முதல் இறுதி வரை ஏற்றுக்கொள்ளும் போது, "ஒரு உள்ளடக்கத்தை மாற்றுவது தற்செயலாக மற்றொன்றை மாற்றுகிறது" என்று தோன்றுகிறது, இது ஒரு மென்பொருள் பிழை என எளிதில் தவறாக மதிப்பிடப்படலாம்.
📊 முக்கிய ஒப்பீடு
| பயிற்சி | பொருந்தக்கூடிய காட்சிகள் | எச்சரிக்கையாக இருக்க வேண்டிய அபாயங்கள் |
|---|---|---|
| அசல் கோப்பகத்தை இறக்குமதி செய்யவும் | மூலக் கோப்பின் புக்மார்க் கட்டமைப்பைப் பாதுகாக்க வேண்டும் | இணைக்கப்பட்ட பிறகும் இறக்குமதி செய்யப்பட்ட புக்மார்க்குகள் சரியான பக்கத்தை சுட்டிக்காட்டுகின்றன என்பதை உறுதிப்படுத்த வேண்டும் |
import_outline=False ஐ வெளிப்படையாக அமைத்து, உயர்மட்ட உள்ளீட்டை கைமுறையாக உருவாக்கவும் | வெளியீட்டு கோப்பின் வழிசெலுத்தல் கட்டமைப்பை நீங்களே திட்டமிடுங்கள் | இயல்புநிலை இறக்குமதி செய்யப்பட்ட கோப்பகங்களுடன் இணைப்பதைத் தவிர்க்கவும் |
| முன்செயலாக்காமல் நேரடியாக இணைக்கவும் | இயல்புநிலை நடத்தையைப் புரிந்துகொள்வதற்கான சோதனைக்காக மட்டுமே | புக்மார்க்குகள் தவறாக வைக்கப்படலாம் மற்றும் படிவ புலங்கள் மறைக்கப்படலாம் அல்லது காணாமல் போகலாம். |
🎯 எந்த முறை உங்களுக்கு ஏற்றது?
நீங்கள் மூல கோப்புகளின் கோப்பகத்தை வைத்திருக்க வேண்டும் என்றால்
ஒன்றிணைக்கும் போது, அசல் கோப்பகத்தை இறக்குமதி செய்ய தெளிவான முடிவை எடுக்கவும், மேலும் ஒன்றிணைத்த பிறகு புக்மார்க் சரியான பக்கத்திற்குத் தாண்டுகிறதா என்பதைச் சரிபார்க்கவும்.
அவுட்புட் கோப்பின் உயர்மட்ட நுழைவை நீங்களே திட்டமிட விரும்பினால்
வெளிப்படையாக import_outline=False ஐ அமைக்கவும், பின்னர் இரண்டு செட் கோப்பகங்களையும் கலப்பதைத் தவிர்க்க உயர்மட்ட உள்ளீட்டை கைமுறையாக உருவாக்கவும்.
ஒரே PDF இன் வெவ்வேறு பக்கங்களை பலமுறை செருக விரும்பினால்
ஒவ்வொரு செருகும் முன் reset_translation ஐ அழைக்கவும், ஏற்றுக்கொள்ளும் போது ஒரு இருப்பிடத்தை மாற்றுவது மற்ற இடங்களைப் பாதிக்கிறதா என்பதைச் சரிபார்க்கவும்.
நீங்கள் முடிவுகளை மற்றவர்களுக்கு வழங்க விரும்பினால்
முதலில் ஏற்றுக்கொள்ளும் படிவத்தின்படி ஒவ்வொரு ஆவணத்தின் மொத்த பக்கங்களின் எண்ணிக்கையையும் தொடக்க ஆஃப்செட்டையும் சரிபார்க்கவும். வேறுபாடுகள் இருந்தால், அவற்றை நேரடியாக வழங்க வேண்டாம்.
❓ அடிக்கடி கேட்கப்படும் கேள்விகள் (FAQ)
1. புக்மார்க்குகள் ஒன்றிணைந்த பிறகு ஏன் தவறான பக்கத்திற்குச் செல்கின்றன?
மூலக் கோப்பின் புக்மார்க் அசல் பக்க எண் அல்லது உள் பொருள் குறிப்பைக் குறிக்கிறது. இணைத்த பிறகு இயற்பியல் பக்க எண் ஈடுசெய்யப்படும், மேலும் பழைய புக்மார்க் மரம் தானாக புதுப்பிக்கப்படாது.
2. பெயரிடப்பட்ட இலக்குகளைப் பயன்படுத்தும் போது நீங்கள் எதில் கவனம் செலுத்த வேண்டும்?
வெவ்வேறு மூலக் கோப்புகளில் ஒரே பெயரில் இலக்கு இருக்கும் போது, பின்னர் இணைக்கப்பட்ட கோப்பு முந்தைய வரையறையை மேலெழுதும், இதனால் இணைப்பு தோல்வியடையும்.
3. குறியீடு வெற்றிகரமாக இயங்கினால், இணைக்கப்பட்ட முடிவை வழங்க முடியும் என்று அர்த்தமா?
முடியாது. வெற்றிகரமான குறியீடு செயல்படுத்தல் என்பது டெலிவரி கிடைக்கிறது என்று அர்த்தம் இல்லை, மேலும் பக்கங்களின் எண்ணிக்கை, ஆஃப்செட்கள் மற்றும் புக்மார்க்குகள் இன்னும் ஏற்றுக்கொள்ளும் அளவுகோல்களுக்கு எதிராகச் சரிபார்க்கப்பட வேண்டும்.
4. ஏன் import_outline=False ஐ வெளிப்படையாக அமைக்க வேண்டும்?
இயல்புநிலை இறக்குமதி செய்யப்பட்ட கோப்பகங்களை கைமுறையாக மறுகட்டமைக்கப்பட்ட உயர்மட்ட உள்ளீடுகளுடன் கலப்பதைத் தவிர்க்கவும்.
📝 சுருக்கம்
PDFகளை இணைக்கும்போது, அசல் கோப்பகத்தை இறக்குமதி செய்ய வேண்டுமா என்பதை முதலில் முடிவு செய்து, பக்கங்களின் எண்ணிக்கை, ஆஃப்செட்கள் மற்றும் புக்மார்க்குகளின் எண்ணிக்கையைச் சரிபார்க்க ஒருங்கிணைந்த மாதிரி மற்றும் ஏற்றுக்கொள்ளும் படிவத்தைப் பயன்படுத்தவும். ஒன்றிணைக்கும் செயல்முறையைத் தீர்மானித்த பிறகு, மொழிபெயர்க்கப்பட்ட கையெழுத்துப் பிரதியின் பக்க வரிசை, இணைப்புகள் மற்றும் உள்ளடக்க ஒருமைப்பாடு ஆகியவற்றைச் சரிபார்க்கலாம்.
இப்போது முயற்சிக்கவும்: அசல் தளவமைப்பைத் தக்கவைத்து, மொழிபெயர்ப்பைத் தொடங்க ஆவணத்தைப் பதிவேற்றவும்


