---
title: "คำถามที่พบบ่อย"
---

หน้านี้ประกอบด้วยคำตอบสำหรับคำถามที่พบบ่อย โปรดเรียนรู้หน้าปัจจุบัน บางทีนี่อาจช่วยให้คุณสามารถแก้ไขปัญหาของคุณได้อย่างรวดเร็ว

หากคุณไม่พบคำตอบสำหรับคำถามของคุณ คุณสามารถถามได้ที่ฟอรัมสนับสนุน สำหรับข้อมูลเกี่ยวกับวิธีการรายงานคำถามหรือปัญหาของคุณอย่างถูกต้อง โปรดดูที่หน้า [การสนับสนุนทางเทคนิค](/words/th/net/technical-support/)

```

คำถามที่พบบ่อยจะถูกจัดกลุ่มตามหัวข้อเพื่อความสะดวกของคุณ

```

## ทั่วไป

**ถาม: Aspose.Words คืออะไร**

Aspose.Words สำหรับ .NET เป็นไลบรารีคลาสที่ช่วยให้แอปพลิเคชันของคุณสามารถดำเนินการประมวลผลเอกสารได้หลากหลาย ด้วย Aspose.Words สำหรับ .NET คุณสามารถสร้าง แก้ไข แปลง แสดงผล และพิมพ์เอกสารโดยไม่ต้องใช้แอปพลิเคชันบุคคลที่สาม

รายละเอียดสามารถพบได้ในเอกสารของเรา

------

**ถาม: "Aspose.Words ไม่จำเป็นต้องมีแอปพลิเคชันบุคคลที่สาม" หมายความว่าอย่างไร**

Aspose.Words สำหรับ .NET ไม่จำเป็นต้องติดตั้งแอปพลิเคชันบุคคลที่สามหรือแพ็คเกจซอฟต์แวร์เพิ่มเติมเพื่อให้ทำงานได้ เพียงดาวน์โหลดและติดตั้ง Aspose.Words ตามที่อธิบายไว้ในบทความ [การติดตั้ง](/words/th/net/installation/) แล้วเริ่มต้นใช้งาน

------

**ถาม: Aspose.Words รองรับแพลตฟอร์มใดบ้าง**

Aspose.Words สำหรับ .NET ครอบคลุมสภาพแวดล้อมการพัฒนาและแพลตฟอร์มการปรับใช้งานยอดนิยมส่วนใหญ่ API สามารถใช้ในการพัฒนาแอปพลิเคชันสำหรับระบบปฏิบัติการที่หลากหลาย เช่น Windows, Linux และ Mac OS และแพลตฟอร์มต่างๆ

โปรดดูรายละเอียดที่หน้า [ภาพรวมผลิตภัณฑ์](/words/th/net/product-overview/) และส่วน [แพลตฟอร์มและความสามารถ Interoperability](/words/net/platforms-and-interoperability/)

------

**ถาม: Aspose.Words รองรับรูปแบบเอกสารใดบ้าง**

Aspose.Words สำหรับ .NET รองรับรูปแบบเอกสารยอดนิยมส่วนใหญ่ เช่น DOC, DOCX, HTML, Markdown, PDF, XML และอื่นๆ

คุณสามารถดูรายการรูปแบบที่รองรับทั้งหมดได้ที่หน้า [รูปแบบเอกสารที่รองรับ](/words/th/net/supported-document-formats/)

------

**ถาม: ฉันจะทดลองใช้ Aspose.Words ฟรีได้อย่างไร**

คุณสามารถทำได้สองวิธี - โดยใช้เวอร์ชันทดลองใช้หรือสิทธิ์การใช้งานชั่วคราว 30 วัน เวอร์ชันทดลองใช้จะเหมือนกับเวอร์ชันที่ซื้อมา โดยมีฟังก์ชันการทำงานเต็มรูปแบบของผลิตภัณฑ์ แต่จะเพิ่มลายน้ำประเมินที่ด้านบนของเอกสารเมื่อโหลดและบันทึก และจำกัดขนาดเอกสารสูงสุดไว้ที่สองสามร้อยย่อหน้า ใบอนุญาตชั่วคราวช่วยให้คุณทดสอบ Aspose.Words โดยไม่มีข้อจำกัดการทดลองใช้เป็นเวลา 30 วัน

ดูหน้า [การออกใบอนุญาตและการสมัครสมาชิก](/words/th/net/licensing/) สำหรับข้อมูลเพิ่มเติม

```

คุณยังสามารถลองใช้คุณสมบัติ Aspose.Words ที่ได้รับความนิยมสูงสุดผ่าน [แอพออนไลน์ฟรี Aspose.Words](https://products.aspose.app/words) ได้อีกด้วย

```

------

**ถาม: ฉันจะซื้อ Aspose.Words ได้อย่างไร**

หากต้องการซื้อใบอนุญาต Aspose.Words คุณต้องไปที่หน้า [ซื้อ](https://purchase.aspose.com/buy) เลือกผลิตภัณฑ์ "Aspose.Words" และประเภทใบอนุญาตที่เหมาะกับคุณ จากนั้นเพิ่มใบอนุญาตลงในรถเข็นของคุณและปฏิบัติตามคำแนะนำในรถเข็นช็อปปิ้ง

หลังจากซื้อแล้ว ให้ยื่นขอใบอนุญาตตามที่อธิบายไว้ในส่วน [ใบอนุญาตที่ซื้อ](/words/th/net/licensing/)

รายละเอียดเกี่ยวกับวิธีการติดตั้ง Aspose.Words สามารถอ่านได้ในหน้า [การติดตั้ง](/words/th/net/installation/)

------

**ถาม: ฉันจะได้รับการสนับสนุนได้อย่างไร**

ใช้ฟอรัมสนับสนุนทางเทคนิคฟรี หากต้องการรายละเอียดเกี่ยวกับวิธีการรายงานปัญหาอย่างถูกต้องและสิ่งที่ต้องทำก่อนติดต่อฟอรัม โปรดดูที่หน้า [การสนับสนุนทางเทคนิค](/words/th/net/technical-support/)

## การแสดงผลเอกสาร

```

คุณสามารถดูข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับการแสดงผลได้ในส่วนเอกสารประกอบ [กำลังแสดงผล](/words/th/net/rendering/)

```

**ถาม: เหตุใดเค้าโครงและแบบอักษรในเอกสารเอาต์พุตจึงแตกต่างจากต้นฉบับ**

แบบอักษรอาจไม่พร้อมใช้งาน หรือรูปแบบแบบอักษรได้รับการสนับสนุนโดย Microsoft Word แต่ไม่สนับสนุนโดย Aspose.Words Aspose.Words จะดำเนินการ [จัดการและแทนที่แบบอักษร TrueType](/words/th/net/manipulating-and-substitution-truetype-fonts/)

หากต้องการตรวจสอบว่าแบบอักษรหายไปหรือไม่:

* ใน Aspose.Words ให้ใช้คำเตือนการแทนที่แบบอักษร (สำหรับรายละเอียด โปรดดูส่วน "วิธีรับรู้ว่าแบบอักษรถูกแทนที่" ของบทความ [จัดการและแทนที่แบบอักษร TrueType](/words/th/net/manipulating-and-substitution-truetype-fonts/))
* ใน Microsoft Word ให้เปิดกล่องโต้ตอบ "การทดแทนแบบอักษร" (ไฟล์ - ตัวเลือก - ขั้นสูง - การทดแทนแบบอักษร)

------

**ถาม: ฉันควรจัดเก็บแบบอักษรสำหรับแอปพลิเคชัน ASP.NET ไว้ที่ใด**

ใน `APS.NET` ไม่มีสิทธิ์เข้าถึงโฟลเดอร์แบบอักษรของระบบด้วยความน่าเชื่อถือระดับปานกลาง ผู้ใช้จะต้องจัดเก็บแบบอักษรไว้ในโฟลเดอร์ของตนเอง

------

**ถาม: เหตุใดแบบอักษรสำรองจึงไม่ทำงานบนแพลตฟอร์มที่ไม่ใช่ Windows และอักขระ Unicode จึงถูกแทนที่ด้วย .notdef glyph**

เรามักจะเห็น `.notdef` glyph แทนอักขระ Unicode บางตัว โดยปกติจะเป็นกล่องหรือ glyph คำถาม

เนื่องจากการตั้งค่าทางเลือกของ Microsoft Office จะถูกเลือกไว้ตามค่าเริ่มต้น และไม่มีแบบอักษรของ Microsoft Office ผู้ใช้ต้องติดตั้งแบบอักษร Microsoft Office หรือแก้ไขการตั้งค่าทางเลือก

------

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

แบบอักษรสคริปต์ที่ซับซ้อนบางตัวจำเป็นต้องมีการประมวลผลคุณสมบัติการพิมพ์ขั้นสูงเพื่อให้สามารถแสดงได้อย่างถูกต้อง การพิมพ์ขั้นสูงจะถูกปิดใช้งานใน Aspose.Words ตามค่าเริ่มต้น ผู้ใช้ต้องเปิดใช้งานการพิมพ์ขั้นสูงด้วย [TextShaperFactory](https://reference.aspose.com/words/net/aspose.words.layout/layoutoptions/textshaperfactory/)

------

**ถาม: ฉันจำเป็นต้องมีไฟล์ลิขสิทธิ์สำหรับแบบอักษรที่ฉันใช้หรือไม่**

ใช่คุณทำ ดังนั้น เมื่อคัดลอกแบบอักษร โปรดทราบว่าแบบอักษรส่วนใหญ่มีลิขสิทธิ์ ค้นหาลิขสิทธิ์แบบอักษรล่วงหน้าและตรวจสอบว่าสามารถถ่ายโอนไปยังเครื่องอื่นได้อย่างอิสระ

## Mail Merge ที่ซ้อนกัน

```

คุณสามารถค้นหาข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับ Mail Merge ได้ในส่วนเอกสารประกอบ [Mail Merge และการรายงาน](/words/th/net/mail-merge-and-reporting/)

```

**ถาม: เหตุใดจึงไม่มีฟิลด์ที่ผสานในเอาต์พุตที่สร้างขึ้น**

ชื่อเดิมของเขตข้อมูลผสานจะยังคงเหมือนเดิมโดยไม่ต้องถูกแทนที่ด้วยข้อมูลที่จำเป็นจากแหล่งข้อมูล จากนั้น:

* ตรวจสอบว่าข้อมูลถูกโหลดลงในตารางอย่างถูกต้อง: ตั้งค่า [TableName](https://reference.aspose.com/words/net/aspose.words.mailmerging/imailmergedatasource/tablename/) อย่างถูกต้องด้วยคีย์หลักและความสัมพันธ์ที่จำเป็นทั้งหมด
* ตรวจสอบว่าช่องผสานได้รับการตั้งชื่ออย่างถูกต้อง ใช้วิธี [GetFieldNames](https://reference.aspose.com/words/net/aspose.words.mailmerging/mailmerge/getfieldnames/) เพื่อรับชื่อช่องผสานทั้งหมด และตรวจสอบให้แน่ใจว่าชื่อของช่องผสานในเทมเพลตของคุณตรงกับชื่อในแหล่งข้อมูลของคุณ

------

**ถาม: เหตุใดผลลัพธ์ของการผสานที่ซ้อนกันจึงไม่แสดงข้อมูลจากตารางลูกสำหรับรายการแรกในตารางหลัก แต่แสดงรายการทั้งหมดสำหรับรายการสุดท้ายในตารางหลัก แม้แต่รายการที่ไม่ได้เชื่อมโยงกับตารางหลักด้วยซ้ำ**

เนื่องจากพื้นที่ที่ผสานในเทมเพลตมีรูปแบบไม่ถูกต้อง ซึ่งอาจทำให้ขอบเขต Mail Merge ที่ซ้อนกันทั้งหมดหยุดแสดงสิ่งใดเลยได้ แท็กเปิด [StartTable](https://reference.aspose.com/words/net/aspose.words/documentbuilder/starttable/) และแท็กปิด [EndTable](https://reference.aspose.com/words/net/aspose.words/documentbuilder/endtable/) ต้องตรงกันและอยู่ในแถวหรือเซลล์เดียวกัน ตัวอย่างเช่น หากคุณเริ่มซ้อนขอบเขตการผสานในเซลล์ของตาราง คุณต้องสิ้นสุดขอบเขตการผสานในแถวเดียวกันกับเซลล์แรก

------

**ถาม: เหตุใดแต่ละรายการจากตารางหลักจึงแสดงทุกรายการในตารางลูก แม้แต่รายการที่ไม่ได้เชื่อมโยงกับรายการนั้นจริงๆ ด้วย**

เนื่องจากไม่มีการตั้งค่าความสัมพันธ์ระหว่างตารางหลักและตารางรองหรือมีการตั้งค่าไม่ถูกต้อง มีความจำเป็นต้อง:

* ตรวจสอบความสมบูรณ์ของข้อมูลภายใน **DataSet** ของคุณ และใช้ออบเจ็กต์ **DataRelation** เพื่อแสดงความสัมพันธ์ระหว่างผู้ปกครองและเด็กระหว่างตารางข้อมูลที่เกี่ยวข้อง
* ตรวจสอบส่วน "วิธีตั้งค่าความสัมพันธ์ข้อมูลใน Mail Merge ที่ซ้อนกันพร้อมภูมิภาค" ในบทความ [Mail Merge ที่ซ้อนกันกับภูมิภาค](/words/th/net/nested-mail-merge-with-regions/)

------

**ถาม: เหตุใดจึงมีข้อยกเว้น: "System.ArgumentException: ข้อจำกัดนี้ไม่สามารถเปิดใช้งานได้เนื่องจากค่าบางค่าไม่ได้มีค่าพาเรนต์ที่สอดคล้องกัน" ขณะดำเนินการ Mail Merge ที่ซ้อนกัน**

สิ่งนี้เกิดขึ้นเนื่องจากไม่ใช่ทุกบันทึกหลักที่มีบันทึกลูก ดังนั้นแหล่งข้อมูลของคุณจึงไม่ตรงกับเกณฑ์ต่อไปนี้: *ทุกแถวในตารางหลักควรมีความสัมพันธ์แบบหนึ่งต่อหนึ่งกับแถวของตารางลูกโดยยึดตามหลักและ กุญแจต่างประเทศ*

ปิดใช้งานข้อจำกัดคีย์ต่างประเทศเมื่อคุณสร้าง **DataRelation**

## ผนวกหรือแทรกเอกสาร

```

คุณสามารถค้นหาข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับการเขียนโปรแกรมด้วยเอกสารได้ในส่วนเอกสารประกอบของ [การเขียนโปรแกรมด้วยเอกสาร](/words/th/net/programming-with-documents/)

```

**ถาม: เหตุใดเนื้อหาที่ต่อท้ายเอกสารจึงไม่ปรากฏในหน้าเดียวกัน**

ผลลัพธ์การผนวกจะปรากฏในหน้าแยกต่างหาก เนื่องจากความแตกต่างในการตั้งค่า [PageSetup](https://reference.aspose.com/words/net/aspose.words/pagesetup/) สำหรับส่วนที่ผนวกเอกสารเข้าด้วยกัน ทำการตั้งค่า **PageSetup** ที่เหมือนกันสำหรับส่วนที่ต่อท้ายเอกสารเข้าด้วยกัน

## แปลงเอกสาร

```

คุณสามารถดูข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับการแปลงเอกสารได้ในส่วนเอกสารประกอบ [แปลงเอกสาร](/words/th/net/convert-a-document/)

```

**ถาม: วิธีแปลง PDF เป็น Word**

ง่ายมาก เพียงโหลดเอกสารลงในโมเดลและบันทึกเป็นรูปแบบที่รองรับ

ตัวอย่างโค้ดต่อไปนี้แสดงกระบวนการแปลงไฟล์ PDF เป็น DOC:

```csharp
// Open the source PDF document
Document pdfDocument = new Document(_dataDir + "PDFToDOC.pdf");

// Save the file into MS document format
pdfDocument.Save(_dataDir + "PDFToDOC_out.doc", SaveFormat.Doc); // .Docx, .Rtf, .WordML, etc.
```

------

**ถาม: วิธีแปลง DOCX เป็น PDF**

มันง่ายมากเช่นกัน เพียงโหลดเอกสารลงในโมเดลและบันทึกเป็นรูปแบบที่รองรับ

ตัวอย่างโค้ดต่อไปนี้แสดงกระบวนการแปลงไฟล์ DOCX เป็น PDF:

```csharp
// Open the source DOCX document.
Document doc = new Document(_dataDir + "input.docx");

// Save the file to PDF format.
doc.Save(_dataDir + "output.pdf", SaveFormat.Pdf);
```

## จัดการด้วยเอกสาร

```

คุณสามารถค้นหาข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับการเขียนโปรแกรมด้วยเอกสารได้ในส่วนเอกสารประกอบของ [การเขียนโปรแกรมด้วยเอกสาร](/words/th/net/programming-with-documents/)

```

**ถาม: จะแบ่งเอกสารทีละหน้าได้อย่างไร**

Aspose.Words ช่วยให้คุณสามารถแบ่งเอกสารหลายหน้าทีละหน้า

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแบ่งเอกสารและบันทึกแต่ละหน้าเป็นเอกสารแยกต่างหาก:

```csharp
Document doc = new Document(MyDir + "Big document.docx");

int pageCount = doc.PageCount;

for (int page = 0; page < pageCount; page++)
{
	// Save each page as a separate document.
	Document extractedPage = doc.ExtractPages(page, 1);
	extractedPage.Save(ArtifactsDir + $"SplitDocument.PageByPage_{page + 1}.docx");
}
```

------

**ถาม: วิธีการเปิดข้อมูลที่เข้ารหัส** **เอกสาร?**

คุณสามารถลองเปิดเอกสารที่เข้ารหัสโดยไม่ต้องใช้รหัสผ่าน ซึ่งอาจทำให้เกิดข้อยกเว้นได้

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเปิดเอกสารที่เข้ารหัสด้วยรหัสผ่าน:

```csharp
// Create a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.Write("Hello world!");

//OoxmlSaveOptions only applies to Docx, Docm, Dotx, Dotm, or FlatOpc formats.
OoxmlSaveOptions options = new OoxmlSaveOptions(SaveFormat.Docx);

// Set a password with which the document will be encrypted, and which will be required to open it.
options.Password = "MyPassword";
doc.Save(ArtifactsDir + "OoxmlSaveOptions.SaveAsDocx.docx", options);

// Open the encrypted document by passing the correct password in a `LoadOptions` object.
doc = new Document(ArtifactsDir + "OoxmlSaveOptions.Password.docx", new LoadOptions("MyPassword"));

Assert.AreEqual("Hello world!", doc.GetText().Trim());
```

------

**ถาม: จะพิมพ์เอกสารได้อย่างไร?**

โค้ดเพียงสองบรรทัด

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการพิมพ์เอกสารได้สองวิธี:

```csharp
Document doc = new Document(MyDir + "PrintMe.docx");

// Below are two ways of printing our document.
// 1 -  Print using the default printer:
doc.Print();

// 2 -  Specify a printer that we wish to print the document with by name:
string myPrinter = PrinterSettings.InstalledPrinters[4];

doc.Print(myPrinter);
```

------

**ถาม: จะแก้ไขเอกสาร PDF ได้อย่างไร**

เพียงโหลด PDF ลงในโมเดลเอกสาร Aspose.Words แล้วทำการเปลี่ยนแปลง

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแก้ไขเอกสาร:

```csharp
// Open the source PDF document
Document pdfDocument = new Document(_dataDir + "PDFToDOC.pdf");

DocumentBuilder builder = new DocumentBuilder(pdfDocument);
builder.MoveToDocumentEnd();
builder.Writeln("New paragraph with text");

pdfDocument.Save(_dataDir + "out.pdf", SaveFormat.Pdf);
```

## Docker

**ถาม: จะใช้ Aspose.Words ใน Docker ได้อย่างไร**

หากต้องการคำตอบโดยละเอียด โปรดดูบทความ [วิธีเรียกใช้ Aspose.Words ในรูปแบบ Docker](/words/th/net/how-to-run-aspose-words-in-docker/)
