ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه ترجمه Markdown برای Document Object Model ()DOM))

برای خواندن، دستکاری و اصلاح محتوا و قالب بندی یک سند، باید آن را به آن ترجمه کنید. Aspose.Words Document Object Model ()DOM)

برخلاف اسناد Word، Markdown مطابق با DOM شرح داده شده در Aspose.Words Document Object Model (DOM) مقاله با این حال، Aspose.Words مکانیسم خود را برای ترجمه فراهم می کند Markdown اسناد DOM و عقب، به طوری که ما می توانیم با موفقیت با عناصر خود مانند قالب بندی متن، جداول، هدر و دیگران کار کنیم.

این مقاله توضیح می دهد که چگونه مختلف markdown ویژگی ها را می توان ترجمه کرد Aspose.Words DOM بازگشت به Markdown فرمت

پیچیدگی ترجمه Markdown - DOM - Markdown

مشکل اصلی این مکانیسم نه تنها ترجمه است Markdown برای DOM, اما همچنین برای انجام تحول معکوس - برای نجات سند به عقب Markdown قالب با حداقل ضرر عناصری مانند نقل قول های چند سطحی وجود دارند که تحول معکوس آن ناچیز نیست.

موتور ترجمه ما به کاربران اجازه می دهد نه تنها با عناصر پیچیده در یک موجود کار کنند. Markdown همچنین برای ایجاد سند خود در Markdown قالب با ساختار اصلی از ابتدا برای ایجاد عناصر مختلف، شما نیاز به استفاده از سبک با نام های خاص با توجه به قوانین خاص شرح داده شده بعدا در این مقاله. این سبک ها را می توان به صورت برنامه نویسی ایجاد کرد.

ترجمه عمومی اصول اصول

ما استفاده می کنیم Font قالب بندی برای بلوک های خط هنگامی که هیچ مکاتبات مستقیمی برای یک Markdown ویژگی در Aspose.Words DOM, ما از یک سبک شخصیتی با نامی استفاده می کنیم که از کلمات خاصی شروع می شود.

برای بلوک های container، ما از میراث سبک استفاده می کنیم تا نشان دهیم Markdown ویژگی ها در این مورد، حتی زمانی که هیچ ویژگی ای وجود ندارد، ما همچنین از سبک های پاراگراف با نامی استفاده می کنیم که از برخی کلمات خاص شروع می شود.

لیست های گلوله و سفارش شده بلوک های container در داخل هستند. Markdown همچنین. حضور در آن ها DOM همانند تمام بلوک های دیگر container با استفاده از ارث سبک. علاوه بر این، لیست ها در DOM قالب بندی شماره در هر دو سبک لیست یا قالب بندی پاراگراف مطابقت دارد.

بلوک های خط

ما استفاده می کنیم Font قالب بندی زمانی که ترجمه Bold, Italic یا ~~ markdown ویژگی ها

Markdown ویژگی ویژگی Aspose.Words
Bold
{1}
Font.Bold = true
Italic
*italic text*
Font.Italic = true
Strikethrough
~Strikethrough text~
Font.StrikeThrough = true

ما از یک سبک شخصیتی با یک نام استفاده می کنیم که از کلمه شروع می شود. <span notrans="<span notrans=" InlineCode"="">"> پس از آن یک گزینه اختیاری (.) و تعدادی از backticks (`) برای InlineCode ویژگی اگر تعدادی از backticks از دست رفته باشد، یک backtick به طور پیش فرض مورد استفاده قرار می گیرد.

Markdown ویژگی ویژگی Aspose.Words
InlineCode
{1}
Font.StyleName = “InlineCode[.][N]”
Autolink
<scheme://domain.com>
<email@domain.com>
The The The The The The FieldHyperlink کلاس
Link
{1}
{2}
{3}
{4})
The The The The The The FieldHyperlink کلاس
Image
{1}
{2}
{3}
{4})
The The The The The The Shape کلاس

بلوک های Container

یک سند یک توالی از بلوک های container مانند سرفصل ها، پاراگراف ها، لیست ها، نقل قول ها و دیگران است. بلوک های کانتینر را می توان به دو کلاس تقسیم کرد: بلوک ها و کانتینرهای پیچیده بلوک های لیف فقط می توانند محتوای خطی داشته باشند. ظروف پیچیده، به نوبه خود، می تواند شامل بلوک های دیگر container، از جمله بلوک های لیف باشد.

بلوک های لیف

جدول زیر نمونه هایی از استفاده از Markdown بلوک های لیف در Aspose.Words:

Markdown ویژگی ویژگی Aspose.Words
HorizontalRule
-----
این یک پاراگراف ساده با شکل افقی متناظر است:
DocumentBuilder.InsertHorizontalRule()
ATX Heading
# H1, ## H2, ### H3…
ParagraphFormat.StyleName = “Heading N”, جایی که (1 = N <= 9)
این به سبک داخلی ترجمه می شود و باید دقیقاً از الگوی مشخص شده باشد (هیچ پسوند یا پیشوند مجاز نیست).
در غیر این صورت، فقط یک پاراگراف منظم با سبک متناظر خواهد بود
Setext Heading
=== (اگر سطح 1)
--- (اگر سطح 2)
ParagraphFormat.StyleName = “SetextHeading[some suffix]”, بر اساس “Heading N” سبک
اگر (N >= 2)، “Heading 2” استفاده می شود، در غیر این صورت “Heading 1”
هر گونه suffix مجاز است اما Aspose.Words واردکنندگان از اعداد به ترتیب “1” و “2” استفاده می کنند
Indented Code ParagraphFormat.StyleName = “IndentedCode[some suffix]”
Fenced Code
``` java
if ()
then
else
```
ParagraphFormat.StyleName = “FencedCode[.][info string]”
The The The The The The [.] و [info string] اختیاری هستند

کانتینرهای پیچیده

جدول زیر نمونه هایی از استفاده از Markdown کانتینرهای پیچیده در Aspose.Words:

Markdown ویژگی ویژگی Aspose.Words
Quote
> quote,
>> nested quote
ParagraphFormat.StyleName = “Quote[some suffix]”
پسوند در نام سبک اختیاری است، اما Aspose.Words وارد کننده از شماره 1، 2، 3، در صورت نقل قول های لانه دار استفاده می کند.
لانه سازی از طریق سبک های ارثی تعریف می شود
BulletedList
- Item 1
- Item 2
- Item 2a
- Item 2b
لیست های امضا شده با استفاده از شماره پاراگراف نشان داده می شوند:
ListFormat.ApplyBulletDefault()
سه نوع لیست گلوله وجود دارد. آنها فقط در یک فرمت عددی از سطح اول پراکنده هستند. اینها عبارتند از: ‘-’, ‘+’ یا ‘*’ به ترتیب
OrderedList
1. Item 1
2. Item 2
1) Item 2a
2) Item 2b
لیست های سفارش شده با استفاده از شماره پاراگراف نشان داده می شوند:
ListFormat.ApplyNumberDefault()
2 عدد نشانگر وجود دارد: “.” و “) نشانگر پیش فرض “. "

جدول ها

Aspose.Words همچنین اجازه می دهد تا جداول را به هم ترجمه کنید. DOM, در زیر نشان داده شده است:

Markdown ویژگی ویژگی Aspose.Words
Table
A
b<br />-

همچنین ببینید