শব্দ হাইপারলিঙ্কগুলি কেবল দৃশ্যমান পাঠ্য পরিবর্তন করতে পারে না, তবে লক্ষ্যটিও পরীক্ষা করে
এই নিবন্ধটি python-docx-এ Word হাইপারলিঙ্কের দৃশ্যমান পাঠ্যকে নিরাপদে প্রতিস্থাপন করার প্রকৌশল পদ্ধতির বিস্তারিত ব্যাখ্যা করে, জোর দিয়ে যে URL টার্গেট সম্পর্ক রক্ষা করার জন্য অনুচ্ছেদ-স্তরের পাঠ্য অ্যাসাইনমেন্টের পরিবর্তে হাইপারলিঙ্ক অবজেক্ট অপারেশন ব্যবহার করা আবশ্যক। নথি অনুবাদ এবং বিষয়বস্তু পরিষ্কারের পরিস্থিতির জন্য উপযুক্ত সম্পূর্ণ চালানোযোগ্য উদাহরণ, সীমানা গ্রহণযোগ্যতা টেবিল এবং OmniDoc ডকিং পরামর্শ প্রদান করে।
এই নিবন্ধটি এমন ডেভেলপারদের জন্য লেখা হয়েছে যারা ওয়ার্ড ডকুমেন্ট অনুবাদ বা বিষয়বস্তু পরিষ্কার করেন। অনেক লোক হাইপারলিঙ্ক টেক্সট প্রতিস্থাপন করার জন্য স্ক্রিপ্ট ব্যবহার করার পরে, কোন প্রতিক্রিয়া নেই বা তারা ক্লিক করার সময় একটি ত্রুটি পৃষ্ঠায় লাফ দেয়। এখানে সমস্যাটি কী, পাইথন-ডকক্সের সাহায্যে দৃশ্যমান পাঠ্য কীভাবে নিরাপদে সংশোধন করা যায় এবং প্রসবের আগে কী সীমানা পরীক্ষা করা দরকার তা এখানে রয়েছে।
এই নিবন্ধটি প্রক্রিয়াকরণ পদ্ধতি প্রদর্শন করতে সিন্থেটিক নমুনা ব্যবহার করে। কোডটি একটি বিচ্ছিন্ন পরিবেশে উদাহরণ সহ পরীক্ষা করা হয়েছে; এটি সমস্ত বাস্তব ফাইল বা পণ্য কর্মক্ষমতা একটি গ্যারান্টি নয়. গুরুত্বপূর্ণ নথিগুলি প্রক্রিয়া করার আগে, দয়া করে মূলগুলি রাখুন এবং পাঠ্যের সীমানা এবং গ্রহণযোগ্য আইটেমগুলি অনুসারে সেগুলি পর্যালোচনা করুন৷
কিভাবে নিরাপদে ওয়ার্ডে হাইপারলিঙ্ক টেক্সট প্রতিস্থাপন করবেন? এক বাক্যে উপসংহার
শুধুমাত্র হাইপারলিঙ্কের দৃশ্যমান টেক্সট প্রতিস্থাপন করুন, এবং হাইপারলিঙ্ক অবজেক্টের মাধ্যমে একে একে একে সাব-রান পরিচালনা করুন। সম্পূর্ণ অনুচ্ছেদের text অ্যাট্রিবিউটে কোনো মান বরাদ্দ করবেন না, অন্যথায় URL সম্পর্ক হারিয়ে যাবে।
| আপনার অবস্থা | প্রস্তাবিত অভ্যাস | কারণ |
|---|---|---|
| সাধারণ বাহ্যিক লিঙ্ক, পাঠ্য একটি একক রান গঠিত | হাইপারলিঙ্ক খুঁজতে iter_inner_content() ব্যবহার করুন, এটি পরিষ্কার করুন এবং নতুন পাঠ্য লিখুন | <w:hyperlink> কন্টেইনার এবং r:id এর মধ্যে সম্পর্ক বজায় রাখুন এবং URL অপরিবর্তিত থাকবে |
| হাইপারলিঙ্ক টেক্সটে বিভিন্ন ফরম্যাটে একাধিক রান থাকে | প্রথমে সমস্ত সাব-রান সাফ করুন, এবং তারপর একটি নতুন রান লিখুন | শুধুমাত্র runs[0] প্রতিস্থাপন এড়িয়ে চলুন যার ফলে অবশিষ্ট পাঠ্য হবে |
| অভ্যন্তরীণ বুকমার্ক নথিভুক্ত করার জন্য বিষয়বস্তুর সারণী বা ক্রস-রেফারেন্স পয়েন্ট | fragment রাখুন, লক্ষ্য পরিবর্তন করবেন না | এই ধরনের লিঙ্কের address খালি, এবং জোরপূর্বক যাচাইকরণ বা URL স্প্লিসিং দুর্ঘটনাজনিত ক্ষতির কারণ হবে। |
| হাইপারলিঙ্ক স্প্যান পৃষ্ঠা বিরতি, বা বিষয়বস্তু নিয়ন্ত্রণ বা ক্ষেত্রের মধ্যে নেস্ট করা হয় | ম্যানুয়াল পর্যালোচনার জন্য চিহ্নিত করুন | গঠনটি ভঙ্গুর এবং python-docx এর জটিল ক্ষেত্রগুলির জন্য সীমিত সমর্থন রয়েছে। |
হাইপারলিঙ্ক টেক্সট ক্লিক করার সময় লাফ দিতে ব্যর্থ হয় কেন?
ওয়ার্ড ডকুমেন্ট অনুবাদ বা বিষয়বস্তু পরিষ্কার করার প্রক্রিয়া করার সময়, একটি ঘন ঘন ব্যর্থতা হল: স্ক্রিপ্ট সফলভাবে "এখানে ক্লিক করুন" এর পরিবর্তে "এখানে ক্লিক করুন", কিন্তু ব্যবহারকারী যখন নতুন পাঠ্যটিতে ক্লিক করেন, তখন এটি হয় সাড়া দেয় না বা একটি ত্রুটি পৃষ্ঠায় চলে যায়। মৌলিক কারণ হল যদিও python-docx-এর Paragraph.text পঠনযোগ্য এবং লেখার যোগ্য, অ্যাসাইনমেন্ট আচরণ ধ্বংসাত্মক। পড়ার সময়, লাইব্রেরি সাধারণ পাঠ্য এবং হাইপারলিঙ্কের দৃশ্যমান পাঠ্যকে একটি স্ট্রিংয়ে ভাগ করবে; বরাদ্দ করার সময়, এটি আসলে পুরো অনুচ্ছেদটিকে একটি নতুন প্লেইন টেক্সট Run দিয়ে কভার করবে এবং <w:hyperlink>-এ মূলভাবে এনক্যাপসুলেট করা URL সম্পর্ক (রিলেশনশিপ) বাতিল করা হবে।
OpenXML-এ, একটি হাইপারলিঙ্ক একটি সাধারণ পাঠ্য বৈশিষ্ট্য নয়, বরং একাধিক রান ধারণকারী একটি কাঠামোগত ধারক। একটি হাইপারলিংক নিরাপদে সংশোধন করতে, আপনাকে অবশ্যই অনুচ্ছেদ-স্তরের পাঠ্য অপারেশনগুলিকে বাইপাস করতে হবে, হাইপারলিঙ্ক অবজেক্টের গভীরে যেতে হবে এবং বাইরের ধারকটিকে অক্ষত রেখে এর চাইল্ড রানের পাঠ্যটি সঠিকভাবে প্রতিস্থাপন করতে হবে। এটি শুধুমাত্র কোড সঠিকতা সম্পর্কে নয়, নথি অনুবাদে "মৃত লিঙ্ক" এড়ানোর জন্য একটি মৌলিক প্রয়োজনীয়তাও।
সংশ্লেষণ উদাহরণ: সঠিক আউটপুট এবং সীমানা ফাঁদ
সমস্যাটি ব্যাখ্যা করার জন্য, আমরা প্রকৃত গ্রাহক ডেটা ছাড়াই একটি সিন্থেটিক দৃশ্যকল্প তৈরি করি। ধরুন ইনপুট নথিতে একটি পাঠ্য রয়েছে: "বিশদ বিবরণের জন্য অফিসিয়াল ডকুমেন্টেশন দেখুন।"
সঠিক আউটপুট প্রত্যাশিত: প্রক্রিয়াকরণের পরে, XML অনুচ্ছেদে <w:hyperlink> নোড এখনও বিদ্যমান, r:id দ্বারা নির্দেশিত সম্পর্ক আইডি অপরিবর্তিত রয়েছে এবং সংশ্লিষ্ট URLটি এখনও https://example.com/docs। নোডের ভিতরে শুধুমাত্র <w:t>-এর বিষয়বস্তু "অফিসিয়াল ডকুমেন্ট (চীনা)" হয়ে যায় এবং বাকি অনুচ্ছেদের বিন্যাস এবং বিষয়বস্তু প্রভাবিত হয় না।
সাধারণ ত্রুটি এবং সীমানা ইনপুট:
- ডাইরেক্ট অ্যাসাইনমেন্ট ওভাররাইড:
paragraph.text = paragraph.text.replace('官方文档', '官方文档(中文)')চালান। হাইপারলিঙ্কগুলি অদৃশ্য হয়ে যায়, সম্পূর্ণ অনুচ্ছেদগুলি সরল পাঠ্য হয়ে যায় এবং URLগুলি স্থায়ীভাবে হারিয়ে যায়। - মাল্টিপল রান হাইপারলিঙ্ক: যদি চারটি শব্দের মধ্যে "অফিসিয়াল ডকুমেন্ট", "অফিশিয়াল" বোল্ড হয় এবং "ডকুমেন্ট" রেগুলার স্টাইলে হয়, তাহলে Word এটিকে দুটি রানে বিভক্ত করবে। যদি কোডটি ধরে নেয় যে
hyperlink.runs[0]সমস্ত পাঠ্য এবং এটিকে সম্পূর্ণরূপে প্রতিস্থাপন করে, দ্বিতীয় রানটি থাকবে এবং অবশেষে এটি "অফিসিয়াল ডকুমেন্ট (চীনা) নথি" হিসাবে প্রদর্শিত হবে। - অভ্যন্তরীণ বুকমার্ক লিঙ্ক: বিষয়বস্তুর সারণীতে হাইপারলিঙ্কগুলিতে প্রায়শই HTTP ঠিকানা থাকে না, তবে নথির ভিতরে
_Tocবুকমার্ক নির্দেশ করে৷ এই সময়ে,addressখালি, এবং বুকমার্ক রেফারেন্সfragmentঅ্যাট্রিবিউটে সংরক্ষণ করা হয়। যদি কোডটি জোরপূর্বকhttpউপসর্গ যাচাই করে বা URL গুলিকে বিভক্ত করার চেষ্টা করে, তাহলে এই ধরনের বৈধ লিঙ্কগুলিকে অস্বাভাবিক বা ভুলভাবে সংশোধন করা হবে।
হাইপারলিঙ্ক টেক্সট নিরাপদে প্রতিস্থাপনের জন্য কোড বাস্তবায়ন
নিচের উদাহরণটি দেখায় কিভাবে লিংক স্ট্রাকচার ভেঙ্গে দৃশ্যমান টেক্সট আপডেট করা যায়। এই কোডটি শুধুমাত্র একটি যুক্তি প্রদর্শন, দয়া করে এটি আপনার নিজের পরিবেশে চালান যা নির্ভরতা লক করে। ব্যবহারের আগে, অনুগ্রহ করে একটি input.docx প্রস্তুত করুন যাতে অন্তত একটি বাহ্যিক হাইপারলিঙ্ক ইনপুট হিসাবে থাকে, উদাহরণস্বরূপ, Word-এ https://example.com/docs-এ ম্যানুয়ালি "অফিসিয়াল ডকুমেন্ট" লিঙ্কটি সন্নিবেশ করান৷
# 依赖: python-docx 1.2 系列(本次运行环境见 QA 清单) (Hyperlink 对象支持)
# 注意: 本示例不验证网络请求,仅在内存中操作文档结构
from docx import Document
from docx.text.hyperlink import Hyperlink
def translate_hyperlink_text(doc_path, source_text, target_text):
"""
安全替换超链接可见文本,保留原始URL目标。
仅当超链接完整文本精确匹配source_text时替换。
"""
doc = Document(doc_path)
replaced_count = 0
for para in doc.paragraphs:
# 必须使用 iter_inner_content 而非 runs,以捕获超链接对象
for item in para.iter_inner_content():
# 显式类型检查,确保是Hyperlink对象
if isinstance(item, Hyperlink):
# 精确匹配完整超链接文本,避免部分匹配导致结构损坏
if item.text == source_text:
# 清空所有子Run的文本,防止多Run残留
for run in item.runs:
run.text = ""
# 将译文写入第一个Run,保留其原有格式
if item.runs:
item.runs[0].text = target_text
replaced_count += 1
else:
# 防御性处理:空超链接容器
print(f"警告: 发现无Run的超链接容器,跳过")
assert replaced_count > 0, "未找到匹配的超链接,请检查源文本"
return doc
# 使用示例(需读者自备 input.docx):
# new_doc = translate_hyperlink_text("input.docx", "官方文档", "Official Docs")
# new_doc.save("output.docx")
এই কোডের চাবিকাঠি হল অনুচ্ছেদ বিষয়বস্তু অতিক্রম করতে iter_inner_content() ব্যবহার করা, যা runs বৈশিষ্ট্যের মতো হাইপারলিঙ্ক কন্টেইনারকে উপেক্ষা করার পরিবর্তে নথির ক্রমে রান এবং হাইপারলিঙ্ক বস্তু তৈরি করে। প্রতিস্থাপন কৌশলটি "প্রথমে পরিষ্কার করুন এবং তারপরে লিখুন" গ্রহণ করে তা নিশ্চিত করার জন্য যে হাইপারলিঙ্কটি বিভিন্ন ফরম্যাটে একাধিক রানের সমন্বয়ে গঠিত হলেও, কোনও পাঠ্য অবশিষ্ট থাকবে না। নীরব ব্যর্থতা এড়াতে স্বয়ংক্রিয় প্রক্রিয়াগুলিতে "মিস" সমস্যাগুলি দ্রুত প্রকাশ করতে দাবী বিবৃতি ব্যবহার করা হয়।
📊 মূল তুলনা
| অনুশীলন | ফলাফল | প্রধান ঝুঁকি |
|---|---|---|
paragraph.text কে একটি মান বরাদ্দ করুন | হাইপারলিঙ্ক অদৃশ্য হয়ে যায় এবং পুরো অনুচ্ছেদটি প্লেইন টেক্সট হয়ে যায় | URL স্থায়ীভাবে হারিয়ে গেছে |
শুধুমাত্র hyperlink.runs[0] প্রতিস্থাপন করুন | টেক্সট থেকে যেতে পারে | একাধিক রান হাইপারলিঙ্ক প্রদর্শন ত্রুটি |
| হাইপারলিংকের মাধ্যমে চালান এবং পরিষ্কার করার পরে লিখুন | হাইপারলিঙ্ক কন্টেইনার এবং সম্পর্ক আইডি সংরক্ষণ করুন | লাইন বিরতি, বুকমার্ক এবং ক্রস-পৃষ্ঠাগুলির মতো সীমানাগুলির অতিরিক্ত স্বীকৃতি প্রয়োজন৷ |
গ্রহণযোগ্যতার মানদণ্ড এবং ম্যানুয়াল পর্যালোচনা সীমানা
কোড প্রদর্শন শেষ থেকে শেষ কর্মক্ষমতা সমান নয়। ডেলিভারির আগে, গ্রহণযোগ্যতার জন্য নিম্নলিখিত টেবিলটি পরীক্ষা করা এবং কোন পরিস্থিতিতে ম্যানুয়াল প্রক্রিয়াকরণে হস্তান্তর করা উচিত তা স্পষ্ট করা প্রয়োজন।
| ঘটনা পর্যবেক্ষণ করুন | প্রক্রিয়াকরণ সিদ্ধান্ত | মন্তব্য |
|---|---|---|
| প্রতিস্থাপনের পরে, লিঙ্কটি সাধারণত মূল URL-এ যেতে পারে। | পাস | মৌলিক ফাংশন গ্রহণযোগ্যতা |
| হাইপারলিঙ্ক টেক্সটে লাইন ব্রেক বা ট্যাব থাকে | কোড প্রদর্শন শুধুমাত্র প্লেইন টেক্সট প্রক্রিয়া করে, এবং বিশেষ অক্ষর ম্যাপিং সংরক্ষণ করা প্রয়োজন। | আপনাকে অফিসিয়াল ডকুমেন্টেশনের বিপরীতে নতুন লাইন এবং ট্যাবের ম্যাপিং পদ্ধতি পরীক্ষা করতে হবে। |
| হাইপারলিংক নথির অভ্যন্তরীণ বুকমার্কের দিকে নির্দেশ করে (ঠিকানা খালি) | খণ্ডটি রাখুন এবং লক্ষ্য পরিবর্তন করবেন না | ডিরেক্টরি এবং ক্রস-রেফারেন্স এই বিভাগে পড়ে, এবং url বৈশিষ্ট্য একটি খালি স্ট্রিং প্রদান করে। |
| হাইপারলিঙ্ক পৃষ্ঠা বিরতি ছড়িয়ে দেয় | ম্যানুয়াল পর্যালোচনার জন্য চিহ্নিত করুন | যখন থাকে_পৃষ্ঠা_break=True তখন গঠনটি ভঙ্গুর হয় |
| একই URL একাধিক ভিন্ন দৃশ্যমান পাঠ্যের সাথে মিলে যায় | প্রসঙ্গ অনুযায়ী আলাদাভাবে প্রক্রিয়া করুন, ব্যাচ প্রতিস্থাপন নিষিদ্ধ করুন | পরিভাষার সামঞ্জস্যতা শব্দকোষের সাথে মিলিয়ে বিচার করা প্রয়োজন |
| হাইপারলিঙ্ক বিষয়বস্তু নিয়ন্ত্রণ বা ক্ষেত্রে নেস্টেড | ম্যানুয়াল প্রক্রিয়াকরণে স্থানান্তর করুন | python-docx-এর জটিল ক্ষেত্রের জন্য সীমিত সমর্থন রয়েছে |
বিশেষ করে, এই দৃশ্যটি মেল মার্জ ক্ষেত্র, SmartArt-এর মধ্যে লিঙ্ক, বা সুরক্ষিত নথি অঞ্চলগুলির সাথে কাজ করে না। এই পরিস্থিতিতে XML কাঠামো অত্যন্ত বিশেষায়িত এবং সাধারণ-উদ্দেশ্য পার্সারগুলি অপরিবর্তনীয় ক্ষতির কারণ হতে পারে। যখন এই ধরনের ফাইল সম্মুখীন হয়, তারা চিহ্নিত করা উচিত এবং প্রিপ্রসেসিং পর্যায়ে বাদ দেওয়া উচিত।
🎯 কোন পদ্ধতি আপনার জন্য উপযুক্ত?
আপনি যদি সাধারণ বাহ্যিক লিঙ্ক নিয়ে কাজ করেন
রান বাই রান প্রতিস্থাপন করতে হাইপারলিঙ্ক অবজেক্ট ব্যবহার করুন এবং প্রতিস্থাপনের পরে r:id এবং URL অপরিবর্তিত থাকবে তা নিশ্চিত করুন।
আপনি যদি বিষয়বস্তুর টেবিল বা ক্রস-রেফারেন্স নিয়ে কাজ করেন
fragment রাখুন, http উপসর্গ যাচাই করবেন না এবং বুকমার্ক লক্ষ্য পরিবর্তন করবেন না।
যদি আপনার হাইপারলিঙ্ক টেক্সটে একাধিক ফরম্যাট থাকে
প্রথমে সমস্ত সাব-রান সাফ করুন, তারপর একটি নতুন রান লিখুন এবং নির্দেশ করুন যে প্রতিস্থাপিত শৈলীটি প্রথম রান থেকে নেওয়া হয়েছে।
লিঙ্কটি পৃষ্ঠা বিরতিতে থাকলে, বিষয়বস্তু নিয়ন্ত্রণ, ক্ষেত্র, স্মার্টআর্ট বা সুরক্ষিত এলাকায়
সরাসরি ম্যানুয়াল প্রক্রিয়াকরণে স্থানান্তর করুন, ব্যাচগুলিতে পুনরায় লেখার জন্য সাধারণ স্ক্রিপ্টগুলি ব্যবহার করবেন না।
স্বয়ংসম্পূর্ণ হাইপারলিঙ্ক নমুনা
নিম্নলিখিত শুধুমাত্র OOXML সম্পর্ক তৈরি করে এবং বহিরাগত URL গুলি অ্যাক্সেস করে না। প্রতিস্থাপিত শৈলী প্রথম রান থেকে আসে; যদি মূল লিঙ্কে একাধিক শৈলী থাকে, তবে পৃথক সেগমেন্ট ম্যাপিং সংজ্ঞায়িত করা প্রয়োজন, এবং এটি সমস্ত মিশ্র বিন্যাসের ক্ষতিহীন ধারণ হিসাবে বিবেচিত হতে পারে না।
from io import BytesIO
from docx.oxml import OxmlElement
from docx.oxml.ns import qn
from docx.opc.constants import RELATIONSHIP_TYPE as RT
source = Document()
p = source.add_paragraph()
link = OxmlElement("w:hyperlink")
rid = p.part.relate_to("https://example.com/", RT.HYPERLINK, is_external=True)
link.set(qn("r:id"), rid)
run = OxmlElement("w:r")
text = OxmlElement("w:t")
text.text = "Docs"
run.append(text)
link.append(run)
p._p.append(link)
stream = BytesIO()
source.save(stream)
stream.seek(0)
changed = translate_hyperlink_text(stream, "Docs", "Documentation")
found = list(changed.paragraphs[0].hyperlinks)
assert found[0].text == "Documentation"
assert found[0].address == "https://example.com/"
তথ্যসূত্র এবং পরবর্তী পদক্ষেপ
- python-docx হাইপারলিঙ্ক API ডকুমেন্টেশন: https://python-docx.readthedocs.io/en/latest/api/text.html#Hyperlink
- python-docx Paragraph.iter_inner_content বর্ণনা: https://python-docx.readthedocs.io/en/latest/api/text.html#docx.text.paragraph.Paragraph.iter_inner_content
নথি অনুবাদের জন্য এই চেকলিস্ট ব্যবহার করুন
শব্দ অনুবাদ ফরম্যাটিং সমস্যাগুলির সাথে বিষয়বস্তুর সমস্যাগুলিকে মিশ্রিত করে। ডেলিভারি তালিকায় শৈলী, শিরোনাম এবং টেবিলের মতো চেক আইটেমগুলি রেখে, পর্যালোচকরা জানতে পারবেন কোথায় দেখতে হবে।
OmniDoc (পণ্য পোর্টাল) একটি মাল্টি-ফরম্যাট নথি অনুবাদ পোর্টাল প্রদান করে, এবং অফিসিয়াল ওয়েবসাইট OCR, শব্দকোষ এবং দ্বিভাষিক তুলনা ফাংশনগুলি প্রবর্তন করে। যে দলগুলি ফাইল থেকে সরাসরি কাজ করতে চায় তাদের জন্য, এটি বাস্তব জীবনের নমুনাগুলির সাথে মূল্যায়ন করার মতো একটি পথ। আপনার কাছে আপলোড করার অনুমতি আছে এমন সংবেদনশীল ফাইলগুলি ব্যবহার করুন এবং ফলাফলগুলি পর্যালোচনা করতে এই নিবন্ধে চেক আইটেমগুলি ব্যবহার করুন৷ OmniDoc এই নিবন্ধে উল্লিখিত ওপেন সোর্স লাইব্রেরি বা অভ্যন্তরীণ অ্যালগরিদমগুলি ব্যবহার করে এমন কোনও দাবি নেই, বা উদাহরণটি পণ্যের কার্যক্ষমতা পরীক্ষাকে প্রতিস্থাপন করে না।
❓ প্রায়শই জিজ্ঞাসিত প্রশ্ন (FAQ)
1. হাইপারলিংক টেক্সট প্রতিস্থাপন করার জন্য আমরা কেন সরাসরি অনুচ্ছেদের পাঠ্যের মান নির্ধারণ করতে পারি না?
যেহেতু অ্যাসাইনমেন্ট পুরো অনুচ্ছেদটিকে একটি প্লেইন টেক্সট রান দিয়ে ওভাররাইট করে, হাইপারলিঙ্ক ধারক এবং এর মধ্যে থাকা URL সম্পর্কটি বাতিল করা হয় এবং লিঙ্কটি অদৃশ্য হয়ে যায়।
2. যখন একটি হাইপারলিংক একাধিক রান নিয়ে গঠিত, শুধুমাত্র প্রথম রানটি প্রতিস্থাপিত হলে কী হবে?
দ্বিতীয় এবং পরবর্তী রানগুলি থাকবে এবং শেষ পর্যন্ত "অফিসিয়াল ডকুমেন্টেশন (চীনা) ডকুমেন্টেশন" এর মতো বারবার পাঠ্য হিসাবে প্রদর্শিত হতে পারে।
3. ডিরেক্টরিতে হাইপারলিংকের url খালি কেন?
বিষয়বস্তুর সারণী লিঙ্ক সাধারণত HTTP ঠিকানা ছাড়া নথির ভিতরে _Toc বুকমার্ক নির্দেশ করে। বুকমার্ক রেফারেন্সটি fragment অ্যাট্রিবিউটে সংরক্ষিত আছে এবং পরিবর্তনের পরিবর্তে সংরক্ষণ করা উচিত।
4. কোন হাইপারলিঙ্কগুলিকে ম্যানুয়াল প্রসেসিংয়ের জন্য ছেড়ে দেওয়া উচিত?
যে সমস্ত লিঙ্কগুলি পেজ ব্রেক করে, কন্টেন্ট কন্ট্রোল বা ফিল্ডের মধ্যে নেস্ট করা হয় এবং মেল মার্জ ফিল্ড, স্মার্টআর্ট, বা সুরক্ষিত এলাকার লিঙ্কগুলিকে ম্যানুয়ালি পরিচালনা করা উচিত।
📝 সারাংশ
হাইপারলিঙ্ক টেক্সট প্রতিস্থাপনের মূল চাবিকাঠি হল সম্পূর্ণ সেকশন অ্যাসাইন করার পরিবর্তে হাইপারলিঙ্ক অবজেক্টের ভিতরে রান চালানো এবং ডেলিভারির আগে একের পর এক সীমানা শর্ত মেনে নেওয়া। আসল নথিগুলির সাথে ডিল করার সময়, প্রথমে আসলগুলি রাখুন এবং তারপরে সংবেদনশীল নমুনাগুলির সাথে যাচাই করুন৷
এটি এখনই চেষ্টা করুন: অনুবাদ শুরু করতে নথিটি আপলোড করুন, মূল বিন্যাস বজায় রেখে৷


