ตั้งค่าชื่อฟอนต์เริ่มต้น

การแนะนำ

คุณเคยพยายามเรนเดอร์เอกสาร PDF ลงในรูปภาพหรือไม่ แต่พบว่าแบบอักษรดูไม่ถูกต้อง อาจเป็นเพราะข้อความดูผิดเพี้ยน หรืออาจไม่รองรับแบบอักษรดั้งเดิม นี่คือจุดที่การตั้งค่าแบบอักษรเริ่มต้นสามารถช่วยคุณได้! ด้วย Aspose.PDF สำหรับ .NET คุณสามารถตั้งค่าแบบอักษรเริ่มต้นสำหรับการเรนเดอร์ PDF ได้อย่างง่ายดาย ช่วยให้เอกสารของคุณดูคมชัดและเป็นมืออาชีพ ในบทช่วยสอนนี้ เราจะแนะนำคุณเกี่ยวกับวิธีตั้งค่าชื่อแบบอักษรเริ่มต้นเมื่อเรนเดอร์ PDF ลงในรูปภาพ เมื่ออ่านคู่มือนี้จบ คุณจะมีทักษะในการรับมือกับความท้าทายในการเรนเดอร์ PDF ที่เกิดขึ้น พร้อมหรือยัง มาเริ่มกันเลย!

ข้อกำหนดเบื้องต้น

ก่อนที่เราจะเริ่มต้นเขียนโค้ด มีบางสิ่งที่คุณต้องมี:

  • Aspose.PDF สำหรับ .NET: ไลบรารีอันทรงพลังนี้คือสิ่งที่เราจะใช้ในการจัดการเอกสาร PDF คุณสามารถดาวน์โหลดได้จากเว็บไซต์อาโพส.
  • Visual Studio: ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Visual Studio ไว้ในเครื่องของคุณแล้ว นี่จะเป็นสภาพแวดล้อมการพัฒนาของเรา
  • .NET Framework: ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง .NET Framework แล้ว Aspose.PDF สำหรับ .NET รองรับเวอร์ชันต่างๆ ดังนั้นโปรดตรวจสอบเอกสารประกอบเพื่อให้ตรงกับความต้องการของคุณ
  • เอกสาร PDF: คุณจะต้องมีเอกสาร PDF ตัวอย่างเพื่อใช้ในการทำงาน หากคุณยังไม่มี ให้สร้าง PDF ง่ายๆ หรือดาวน์โหลดตัวอย่างทางออนไลน์

เมื่อคุณตั้งค่าทุกอย่างเสร็จเรียบร้อยแล้ว เราก็พร้อมที่จะเริ่มเขียนโค้ดได้เลย!

แพ็คเกจนำเข้า

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

using Aspose.Pdf.Devices;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;

การนำเข้าเหล่านี้มีความสำคัญ เนื่องจากจะนำเนมสเปซที่จำเป็นมาเพื่อจัดการการจัดการ PDF การเรนเดอร์รูปภาพ และการดำเนินการสตรีมไฟล์

ขั้นตอนที่ 1: ตั้งค่าโครงการและเส้นทางเอกสารของคุณ

ขั้นแรก ให้ตั้งค่าเส้นทางไดเรกทอรีที่เอกสาร PDF ของคุณตั้งอยู่ ซึ่งจะเป็นจุดเริ่มต้นในการจัดการไฟล์ PDF

// เส้นทางไปยังไดเร็กทอรีเอกสาร
string dataDir = "YOUR DOCUMENT DIRECTORY";

ที่นี่,dataDir คือไดเร็กทอรีที่เอกสาร PDF ของคุณอยู่ โปรดเปลี่ยน"YOUR DOCUMENT DIRECTORY" ด้วยเส้นทางจริงไปยังเอกสารของคุณ ซึ่งถือเป็นสิ่งสำคัญ เนื่องจากโค้ดจำเป็นต้องทราบว่าจะดึงไฟล์ PDF มาจากที่ใด

ขั้นตอนที่ 2: โหลดเอกสาร PDF

ตอนนี้เรามีเส้นทางเอกสารแล้ว ขั้นตอนถัดไปคือการโหลดเอกสาร PDF ลงในหน่วยความจำเพื่อให้เราสามารถเริ่มทำงานกับเอกสารนั้นได้

using (Document pdfDocument = new Document(dataDir + "input.pdf"))

เราใช้Document คลาสจากไลบรารี Aspose.PDF เพื่อโหลดไฟล์ PDF ของเรา คลาสนี้ให้วิธีการและคุณสมบัติต่างๆ ในการใช้งานเอกสาร PDF"input.pdf" ควรแทนที่ด้วยชื่อไฟล์จริงของ PDF ของคุณ ไฟล์นี้จะใช้เป็นอินพุตสำหรับการแสดงผล

ขั้นตอนที่ 3: สร้างสตรีมภาพสำหรับเอาต์พุต

เมื่อโหลดเอกสารเสร็จแล้ว เราต้องตั้งค่าสตรีมเพื่อบันทึกภาพที่เรนเดอร์ นี่คือที่ที่รูปภาพเอาต์พุตจะถูกจัดเก็บไว้

using (FileStream imageStream = new FileStream(dataDir + "SetDefaultFontName.png", FileMode.Create))

การFileStreamคลาสนี้ใช้เพื่อสร้างไฟล์ใหม่ที่จะบันทึกรูปภาพที่เรนเดอร์แล้ว ในตัวอย่างนี้ เราจะบันทึกรูปภาพเป็น"SetDefaultFontName.png" . การFileMode.Create ช่วยให้แน่ใจว่าไฟล์ใหม่จะถูกสร้างขึ้นหรือไฟล์ที่มีอยู่จะถูกเขียนทับ

ขั้นตอนที่ 4: ตั้งค่าความละเอียดของภาพ

ก่อนที่จะเรนเดอร์ PDF ลงในรูปภาพ สิ่งสำคัญคือต้องตั้งค่าความละเอียด ซึ่งจะกำหนดคุณภาพและความชัดเจนของรูปภาพที่ส่งออก

Resolution resolution = new Resolution(300);

การResolution คลาสจะกำหนดความละเอียดของภาพเอาต์พุต โดยในที่นี้ เราได้เลือกความละเอียด 300 DPI (จุดต่อนิ้ว) ซึ่งเป็นมาตรฐานสำหรับภาพคุณภาพสูง วิธีนี้จะช่วยให้ข้อความและกราฟิกใน PDF ของคุณแสดงผลได้ชัดเจนโดยไม่สูญเสียรายละเอียด

ขั้นตอนที่ 5: กำหนดค่าอุปกรณ์ PNG

ถัดไป เราต้องกำหนดค่าอุปกรณ์ที่จะจัดการการเรนเดอร์ PDF เป็นภาพ PNG

PngDevice pngDevice = new PngDevice(resolution);

การPngDevice คลาสนี้รับผิดชอบการเรนเดอร์เอกสาร PDF ลงในรูปภาพ PNG โดยผ่านresolution หากคัดค้านสิ่งนี้ เราจะตรวจสอบให้แน่ใจว่าภาพจะถูกสร้างขึ้นด้วย DPI ที่ระบุ

ขั้นตอนที่ 6: ตั้งชื่อแบบอักษรเริ่มต้น

นี่คือส่วนสำคัญ – การตั้งชื่อฟอนต์เริ่มต้น ซึ่งจะเป็นฟอนต์สำรองในกรณีที่ฟอนต์ต้นฉบับใน PDF ไม่พร้อมใช้งาน

RenderingOptions ro = new RenderingOptions();
ro.DefaultFontName = "Arial";
pngDevice.RenderingOptions = ro;

เราสร้างอินสแตนซ์ของRenderingOptions และตั้งค่าของมันDefaultFontName ทรัพย์สินที่จะ"Arial"ซึ่งหมายความว่าหากไม่พบแบบอักษรดั้งเดิมใน PDF จะใช้ Arial แทน ขั้นตอนนี้มีความสำคัญอย่างยิ่งในการรักษาความสามารถในการอ่านและรูปลักษณ์ของข้อความในรูปภาพที่แสดงผล

ขั้นตอนที่ 7: เรนเดอร์หน้า PDF เป็นรูปภาพ

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

pngDevice.Process(pdfDocument.Pages[1], imageStream);

การProcess วิธีการของPngDevice คลาสนี้ใช้เพื่อเรนเดอร์หน้า PDF ที่ระบุ (ในกรณีนี้คือหน้าแรก) ลงในรูปภาพ จากนั้นเอาต์พุตจะถูกบันทึกลงในimageStreamขั้นตอนนี้จะแปลงหน้า PDF ให้เป็นภาพ PNG ที่มีความละเอียดที่ระบุและแบบอักษรเริ่มต้น

ขั้นตอนที่ 8: ปิดสตรีมไฟล์และเอกสาร PDF

หลังจากการเรนเดอร์ภาพแล้ว จำเป็นต้องปิดสตรีมไฟล์และเอกสาร PDF เพื่อปลดปล่อยทรัพยากร

imageStream.Close();
pdfDocument.Dispose();

การปิดimageStream ช่วยให้แน่ใจว่าไฟล์ได้รับการบันทึกอย่างถูกต้องและไม่มีข้อมูลสูญหาย การกำจัดpdfDocument ช่วยเพิ่มหน่วยความจำและทรัพยากร ป้องกันการรั่วไหลของหน่วยความจำที่อาจเกิดขึ้น

บทสรุป

และแล้วคุณก็จะได้มันมา! ด้วยโค้ดเพียงไม่กี่บรรทัด คุณก็เรียนรู้วิธีตั้งค่าชื่อฟอนต์เริ่มต้นเมื่อเรนเดอร์ PDF ลงในรูปภาพโดยใช้ Aspose.PDF สำหรับ .NET ทักษะนี้มีประโยชน์อย่างยิ่ง โดยเฉพาะเมื่อต้องจัดการกับ PDF ที่อาจมีฟอนต์ที่ไม่รองรับ การตั้งค่าฟอนต์เริ่มต้นจะช่วยให้คุณมั่นใจได้ว่ารูปภาพที่เรนเดอร์ของคุณจะอ่านได้และมีลักษณะที่ดูเป็นมืออาชีพ

คำถามที่พบบ่อย

จะเกิดอะไรขึ้นหากไม่ได้ติดตั้งแบบอักษรเริ่มต้นที่ระบุไว้ในระบบ?

หากแบบอักษรเริ่มต้นที่ระบุไว้ในRenderingOptions หากไม่ได้ติดตั้งบนระบบ Aspose.PDF จะใช้แบบอักษรสำรองที่ระบบกำหนด

ฉันสามารถใช้แบบอักษรอื่นนอกจาก Arial เป็นแบบอักษรเริ่มต้นได้หรือไม่

แน่นอน! คุณสามารถตั้งค่าแบบอักษรใดๆ ที่ติดตั้งอยู่ในระบบของคุณเป็นแบบอักษรเริ่มต้นได้

เป็นไปได้ไหมที่จะเรนเดอร์ PDF หลายหน้าเป็นรูปภาพในครั้งเดียว?

ใช่ คุณสามารถวนซ้ำผ่านหน้าต่างๆ ของ PDF และแสดงแต่ละหน้าได้ทีละหน้าโดยใช้กระบวนการเดียวกัน

การตั้งค่าความละเอียดสูงส่งผลต่อประสิทธิภาพการเรนเดอร์ PDF หรือไม่

ใช่ ความละเอียดที่สูงขึ้นจะทำให้ไฟล์ภาพมีขนาดใหญ่ขึ้น และอาจเพิ่มเวลาในการเรนเดอร์ แต่จะทำให้ได้ภาพที่ชัดเจนขึ้นด้วยเช่นกัน

ฉันสามารถเรนเดอร์ PDF เป็นรูปแบบภาพอื่นนอกจาก PNG ได้หรือไม่

ใช่ Aspose.PDF รองรับการเรนเดอร์เป็นรูปแบบภาพต่างๆ เช่น JPEG, BMP และ TIFF