แปลงเอกสารเป็นMarkdown

Markdownเป็นรูปแบบที่นิยมใช้ในการมาร์กอัปข้อความและการแปลงต่อไปHTML, PDF, DOCX, หรือรูปแบบอื่นๆ นักพัฒนาหลายคนเลือกรูปแบบนี้สำหรับการเขียนเอกสารเตรียมบทความสำหรับการตีพิมพ์.

Markdownเป็นที่นิยมมากเพราะมันเป็นเรื่องง่ายที่จะทำงานกับรูปแบบนี้เช่นเดียวกับที่จะสามารถแ ด้วยเหตุนี้Aspose.Wordsจึงให้ความสามารถในการแปลงเอกสารในany supported load formatเป็นMarkdownและในทางกลับกัน–Aspose.Wordsยังรองรับความนิยมมากที่สุดsave formats.

ตอนนี้ฟังก์ชันการทำงานสำหรับการทำงานกับรูปแบบMarkdownกำลังได้รับการพัฒนาอย่างแข็งขันเพื่อให้คุณมีโอกาสมากขึ้นสำหรับการทำงานที่สะดวกและสะดวกสบายกับเอกสาร.

แปลงเอกสาร

ในการแปลงเอกสารเป็นMarkdownคุณเพียงแค่ต้องโหลดเอกสารในรูปแบบใดก็ได้ที่สนับสนุนหรือส จากนั้นคุณจำเป็นต้องบันทึกเอกสารลงในรูปแบบMarkdown.

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการแปลงDOCXเป็นMarkdown:

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
// Load the document from disk.
auto doc = System::MakeObject<Document>(inputDataDir + u"Test.docx");
// Save the document to Markdown format.
doc->Save(outputDataDir + u"SpecifyMarkdownSaveOptions.SaveAsMD.md");

นอกจากนี้คุณยังสามารถระบุโฟลเดอร์ทางกายภาพที่คุณต้องการบันทึกภาพเมื่อส่งออกเอกสารไปยังรูปแบบMarkdown โดยค่าเริ่มต้นAspose.Wordsบันทึกรูปภาพในโฟลเดอร์เดียวกันกับที่บันทึกแฟ้มเอกสารแต่คุณสามารถแทนที่ลักษณะการทำงานนี้โดยใช้คุณสมบัติImagesFolder.

การระบุโฟลเดอร์ผ่านImagesFolderก็มีประโยชน์เช่นกันถ้าคุณบันทึกเอกสารไปยังสตรีมและAspose.Wordsไม่มีโฟลเด.

หากไม่มีImagesFolderที่ระบุไว้ระบบจะถูกสร้างขึ้นโดยอัตโนมัติ.

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการระบุโฟลเดอร์สำหรับรูปภาพเมื่อบันทึกเอกสารไปยังกระ:

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
// Load the document from disk.
auto doc = System::MakeObject<Document>(inputDataDir + u"Test.docx");
auto so = System::MakeObject<MarkdownSaveOptions>();
so->set_ImagesFolder(outputDataDir + u"\\Images");
auto stream = System::MakeObject<System::IO::MemoryStream>();
doc->Save(stream, so);

ระบุตัวเลือกการบันทึกเมื่อแปลงเป็นMarkdown

Aspose.Wordsให้ความสามารถในการใช้ชั้นเรียนMarkdownSaveOptionsในการทำงานกับตัวเลือกขั้นสูงเมื่อบันทึกเอกสารในรูปแบบMarkdown คุณสมบัติส่วนใหญ่จะสืบทอดหรือโหลดคุณสมบัติที่มีอยู่แล้วภายในคลาสเนมสเปซอื่นAspose.Words.Saving นอกจากนั้นยังมีการเพิ่มคุณสมบัติที่เฉพาะเจาะจงสำหรับรูปแบบMarkdownอีกด้วย ตัวอย่างเช่นคุณสมบัติTableContentAlignmentเพื่อควบคุมการจัดตำแหน่งของเนื้อหาในตารางหรือImageSavingCallbackและImagesFolderเพื่อควบคุมวิธีการบันทึกภาพเมื่อแปลงเอกสารเป็นรูปแบบMarkdown.

รองรับคุณสมบัติMarkdown

Aspose.Wordsขณะนี้รองรับคุณสมบัติดังต่อไปนี้Markdownซึ่งส่วนใหญ่เป็นไปตามข้อกำหนดCommonMarkในAspose.WordsAPIและจะแสดงเป็นรูปแบบที่เหมาะสมหรือการจัดรูปแบบโดยตรง:

  • ส่วนหัวเป็นย่อหน้าที่มีหัวข้อ1-หัวข้อ6รูปแบบ
  • คำคมบล็อกเป็นย่อหน้าที่มี"อ้าง"ในชื่อสไตล์
  • IndentedCodeเป็นย่อหน้าที่มี"IndentedCode"ในชื่อสไตล์
  • FencedCodeเป็นย่อหน้าที่มี"FencedCode"ในชื่อสไตล์
  • InlineCodeจะทำงานด้วย"InlineCode"ในชื่อสไตล์Font
  • กฎแนวนอนเป็นย่อหน้าที่มีรูปร่างHorizontalRule
  • เน้นตัวหนา
  • เน้นตัวเอียง
  • StrikeThroughการจัดรูปแบบ
  • รายการเป็นย่อหน้าที่มีหมายเลขหรือสัญลักษณ์
  • ตารางจะแสดงด้วยคลาสของTable
  • ลิงก์ถูกแสดงเป็นคลาสของFieldHyperlink

ตัวอย่างต่อไปนี้แสดงวิธีการสร้างเอกสารที่มีลักษณะบางอย่างและบันทึกไว้ที่Markdown:

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
auto doc = System::MakeObject<Document>();
auto builder = System::MakeObject<DocumentBuilder>(doc);
// Specify the "Heading 1" style for the paragraph.
builder->InsertParagraph();
builder->get_ParagraphFormat()->set_StyleName(u"Heading 1");
builder->Write(u"Heading 1");
// Specify the Italic emphasis for the paragraph.
builder->InsertParagraph();
// Reset styles from the previous paragraph to not combine styles between paragraphs.
builder->get_ParagraphFormat()->set_StyleName(u"Normal");
builder->get_Font()->set_Italic(true);
builder->Write(u"Italic Text");
// Reset styles from the previous paragraph to not combine styles between paragraphs.
builder->set_Italic(false);
// Specify a Hyperlink for the desired text.
builder->InsertParagraph();
builder->InsertHyperlink(u"Aspose", u"https://www.aspose.com", false);
builder->Write(u"Aspose");
// Save your document as a Markdown file.
doc->Save(outputDataDir + u"SpecifyMarkdownSaveOptions.SupportedMarkdownFeatures.md");

ผลลัพธ์ของตัวอย่างรหัสนี้แสดงด้านล่าง.

markdown-example-aspose-words-cpp

เคล็ดลับที่เป็นประโยชน์

มีหลายความแตกต่างและกรณีที่น่าสนใจที่มีการเรียนรู้ซึ่งคุณสามารถทำงานกับMarkdownไฟล์ที่มีความยืดหยุ่นมากขึ้นและสะดวกสบาย ตัวอย่างเช่นมีความสามารถในการใช้:

  • SetextHeadingที่ช่วยให้คุณสร้างส่วนหัวหลายบรรทัดในMarkdownในขณะที่ส่วนหัวปกติในMarkdownสามารถเป็นบรรทัดเดียว SetextHeadingขึ้นอยู่กับ"หัวข้อไม่มีข้อความ"และระดับของมันสามารถเป็น1หรือ2 ถ้าไม่มีข้อความใน"หัวข้อไม่มีข้อความ"มากกว่าหรือเท่ากับ2แล้วSetextHeadingที่ตรงกันจะขึ้นอยู่กับ"หัวข้อ2"มิฉะนั้นใน"หัวข้อ1".
  • เครื่องหมายที่แตกต่างกันสำหรับรายการที่มีสัญลักษณ์แสดงหัวข้อย่อยระดับแรก("-","+“หรือ”*“เครื่องหมายเริ่มต้นคือ”-")และประเภทที่แตกต่างกันของหมายเลขสำหรับรายการสั่งซื้อ(".“หรือ”)“เครื่องหมายเริ่มต้นคือ”.").