รูป ทรง ต่าง ๆ แยกออกจากเอกสาร

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

Aspose.Words ให้ความสามารถในการแยกเนื้อหาประเภทนี้ออกมาในแบบเดียวกัน คุณสามารถดึงภาพแบบง่าย ๆ จากรูปร่างตามที่แก้ไขเนื้อหาได้ บทความ นี้ อธิบาย วิธี ใช้ ความ สามารถ นี้ เพื่อ ทํา ให้ มี รูป แบบ ที่ เป็น เอกเทศ ของ เอกสาร.

ชนิดรูปทรงใน Aspose.Words

เนื้อหาทั้งหมดในชั้นวาดเอกสารทั้งหมด Shape หรือ GroupShape โหนดใน Aspose.Words มอดูลของเอกสาร (DOM) เนื้อหา เช่น นั้น อาจ เป็น กล่อง ส่ง ข้อ ความ, รูป ภาพ, ออโต สแฮป, วัตถุ โอ แอลเล, อื่น ๆ. บางทุ่งยังนําเข้าเป็นรูปทรง ตัวอย่างเช่น INCLUDEPICTURE สนาม

ภาพง่าย ๆ แทนด้วย Shape โหนด ShapeType.Image. โหนดรูปร่างนี้ไม่มีโหนดเด็ก แต่ข้อมูลภาพที่อยู่ในโหนดรูปร่างนี้ สามารถเข้าถึงได้โดย Shape.ImageData ทรัพย์สิน ใน อีก ด้าน หนึ่ง รูป ร่าง อาจ ประกอบ ด้วย ปม เด็ก หลาย จุด ได้ ด้วย. ยกตัวอย่างเช่น รูปกล่องข้อความ ซึ่งแทนด้วย ShapeType.TextBox ทรัพย์ สิน อาจ ประกอบ ด้วย หลาย ปม เช่น Paragraph ถึง Table. รูปทรงส่วนใหญ่สามารถรวม Paragraph ถึง Table โหนดระดับบล็อก นี่เป็นโหนดแบบเดียวกัน กับที่ปรากฎในร่างกายหลัก รูป ร่าง เป็น ส่วน หนึ่ง ของ บาง วรรค เสมอ ไม่ ว่า จะ เป็น ใน บรรทัด ใด ก็ ตาม หรือ เป็น ส่วน ที่ ยึด ติด กับ วรรค แต่ “ลอย” ที่ไหนก็ได้ในเอกสาร

rendering-shapes-separately-from-a-document-aspose-words-java-1

เอกสาร ยัง มี รูป ทรง ที่ เรียง เป็น กลุ่ม ด้วย. Groupเปิดการใช้งาน ing ได้ Microsoft Word โดยการเลือกวัตถุและคลิ๊กGroup" ใน เมนู คลิก ขวา.

rendering-shapes-separately-from-a-document-aspose-words-java-2

ใน Aspose.Words, รูปทรงเหล่านี้แสดงโดย GroupShape โหนด นอก จาก นี้ อาจ เรียก ได้ ด้วย วิธี เดียว กัน นี้ เพื่อ ทํา ให้ ทั้ง กลุ่ม เป็น ภาพ.

rendering-shapes-separately-from-a-document-aspose-words-java-3

รูปแบบ DCX สามารถบรรจุชนิดของภาพพิเศษ เช่น แผนภูมิ หรือ แผนภูมิ รูปทรงเหล่านี้ยังแสดงผ่าน Shape โหนดใน Aspose.Words, ซึ่งยังให้วิธีการที่คล้ายกันในการแปลพวกเขาเป็นภาพ โดยการออกแบบรูปร่างไม่สามารถบรรจุรูปร่างอื่น ๆ เช่นเด็ก เว้นแต่รูปร่างที่เป็นภาพ (International)ShapeType.Image) ยกตัวอย่างเช่น Microsoft Word ไม่อนุญาตให้คุณใส่กล่องข้อความเข้าไปในกล่องข้อความอื่น ๆ

รูป แบบ ที่ กล่าว ถึง ข้าง ต้น ให้ วิธี การ พิเศษ เพื่อ ทํา ให้ รูป ทรง เปลี่ยน ไป ShapeRenderer ชั้นเรียน. ตัวอย่างของ ShapeRenderer ห้องเรียนได้รับการรับสําหรับ Shape หรือ GroupShape ผ่าน GetShapeRenderer วิธีการหรือผ่าน Shape ถึงผู้สร้าง ShapeRenderer ชั้นเรียน. คลาสนี้จะให้สิทธิ์ในการเข้าใช้สมาชิก ซึ่งอนุญาตให้แสดงรูปร่างได้ดังนี้:

  • แฟ้มบนดิสก์โดยใช้ Save เกินขนาดวิธีการใช้
  • สายน้ําใช้ Save เกินขนาดวิธีการใช้
  • กราฟิก วัตถุโดยการใช้ RenderToSize ถึง RenderToScale วิธี

กําลังแสดงไปยังแฟ้มหรือสายข้อมูล

เดอะ Save วิธีการต่าง ๆ ให้ค่าเกินขนาดที่แปลงรูปร่าง โดยตรงไปยังแฟ้มหรือสายข้อมูล ทั้งสองตัวเกินขนาด ยอมรับตัวอย่างของ ImageSaveOptions คลาสนี้อนุญาตให้กําหนดตัวเลือกในการแสดงผลได้ นี่ใช้ได้เหมือนกับ Document.Save วิธี แม้ว่าพารามิเตอร์นี้จําเป็นต้องใช้, คุณก็สามารถผ่านค่าว่างได้ โดยระบุว่าไม่มีทางเลือกที่กําหนดเอง

รูปทรงสามารถส่งออกในรูปแบบใด ๆ ก็ตามที่ระบุไว้ในรูปแบบ SaveFormat ปลดปล่อย ตัวอย่างเช่น, อิมเมจนี้สามารถแปลเป็นอิมเมจราสเตอร์ได้ เช่น JPEG โดยระบุ SaveFormat.Jpeg การรวม, หรือเป็นภาพเวกเตอร์, เช่น EMF โดยระบุ SaveFormat.Emf.

ตัวอย่างรหัสด้านล่างนี้ แสดงถึงการแปลงภาพเป็น EMF ที่แยกออกจากเอกสาร และบันทึกเป็นดิสก์:

ตัวอย่างรหัสด้านล่างนี้ แสดงถึงการแปลงรูปร่างเป็นภาพแบบ JPEG แยกออกจากเอกสาร และบันทึกไปยังสายข้อมูล:

เดอะ ImageSaveOptions คลาส ให้คุณได้กําหนดตัวเลือกต่าง ๆ ที่ควบคุมการแสดงผลของภาพ วิธี การ ที่ พรรณนา ไว้ ข้าง ต้น สามารถ ใช้ ได้ ใน ลักษณะ เดียว กัน กับ GroupShape ถึง Shape โหนด

นําเสนอไปยัง Graphics วัตถุ

ตรงไปยัง Graphics วัตถุช่วยให้คุณสามารถกําหนดการตั้งค่าของคุณเอง และสถานะสําหรับ Graphics วัตถุ สภาพ การณ์ ทั่ว ไป เกี่ยว ข้อง กับ การ ทํา รูป ร่าง ให้ เป็น รูป แบบ โดย ตรง Graphics ดึงข้อมูลวัตถุจาก Windows แบบฟอร์มหรือบิตแมพ เมื่อ Shape โหนดถูกแก้ไข การตั้งค่าจะมีผลต่อรูปร่าง ตัวอย่างเช่น คุณสามารถหมุนหรือปรับขนาดรูปร่างได้โดยใช้ RotateTransform หรือ ScaleTransform วิธีการสําหรับ Graphics วัตถุ

ตัวอย่างด้านล่างนี้แสดงวิธีการสร้างรูปร่าง Graphics ออบเจ็กต์ที่แยกออกจากเอกสารและปรับใช้การหมุนไปยังภาพที่ถูกแปล:

เช่นเดียวกัน, กับ RenderToSize วิธีการ, Tosizeวิธีการสืบทอดจาก NodeRendererBase มีประโยชน์ในการสร้างภาพตัวอย่างของเนื้อหาของเอกสาร แสดงขนาดรูปทรงผ่านทางตัวสร้าง เดอะ RenderToSize วิธีการยอมรับวิธีการ Graphics วัตถุ, พิกัด X และ Y ของตําแหน่งภาพ, และขนาดของภาพ (ความกว้างและความสูง) ที่จะถูกวาดลงบน Graphics วัตถุ

เดอะ Shape สามารถแปลงเป็นระดับบางส่วนโดยใช้ ShapeRenderer.RenderToScale วิธีการสืบทอดจาก NodeRendererBase ชั้นเรียน. นี่คล้ายกับ Document.RenderToScale วิธีที่ยอมรับพารามิเตอร์หลักแบบเดียวกัน ผลต่างของสองวิธีการนี้คือ ShapeRenderer.RenderToScale คุณ จะ ทํา อย่าง ไร? หากค่าลอยเท่ากับ 1.0 ทําให้รูปร่างถูกแปลด้วยขนาดเดิม 100% ค่าลอยของ 0.5 จะลดขนาดภาพลงครึ่งหนึ่ง

กําลังวาดภาพร่าง

เดอะ Shape ชั้น เรียน แสดง ถึง วัตถุ ต่าง ๆ ใน ชั้น วาดภาพ เช่น กล่อง อัตโนมัติ, กล่อง ข้อ ความ, วัตถุ ฟรี, วัตถุ โอ แอลเล, การ ควบคุม การ เคลื่อน ไหว, หรือ ภาพ. ใช้ Shape ห้องเรียน คุณสามารถสร้างหรือปรับเปลี่ยนรูปร่างได้ Microsoft Word เอกสาร คุณสมบัติที่สําคัญของรูปร่างคือ ShapeType. รูป ร่าง ของ คน ชนิด ต่าง ๆ อาจ มี ความ สามารถ ต่าง กัน ใน เอกสาร คํา. ตัว อย่าง เช่น มี เพียง รูป ปั้น และ รูป ทรง ของ โอแอล เท่า นั้น ที่ สามารถ มี ภาพ ภาย ใน ได้ ขณะ ที่ รูป แบบ ส่วน ใหญ่ มี ข้อ ความ เท่า นั้น.

ตัวอย่างต่อไปนี้ แสดงวิธีแสดงผลภาพแบบรูปร่างเป็นภาพแบบ JPEG แยกออกจากเอกสาร และบันทึกภาพไปยังดิสก์:

กําลังรับค่าขนาดรูปร่าง

เดอะ ShapeRenderer คลาสนี้ยังให้คุณสมบัติในการดึงข้อมูลขนาดของรูปร่าง โดยมีหน่วยเป็นพิกเซลผ่าน GetSizeInPixels วิธี วิธีการนี้ยอมรับการลอยตัวแบบสองแบบ (Single) พารามิเตอร์ – ขนาดและ DPI ซึ่งใช้ในการคํานวณขนาดของขนาดเมื่อแปลงรูปร่าง วิธีการกลับค่า Size วัตถุที่บรรจุความกว้างและความสูงของขนาดคํานวณ นี่มีประโยชน์เมื่อต้องใช้ความรู้ ขนาดของรูปทรงที่แปลแล้วล่วงหน้า ตัวอย่างเช่น เมื่อสร้างบิตแมพใหม่จากการแสดงผลที่แปลแล้ว

ตัวอย่างด้านล่างนี้แสดงถึงวิธีสร้างวัตถุบิตแมพใหม่และกราฟิกด้วยความกว้างและความสูงของรูปร่างที่จะแก้ไข:

เมื่อใช้ RenderToSize หรือ RenderToScale วิธีการ, ขนาดของภาพที่ถูกแปลแล้ว จะถูกคืนค่าไปใน SizeF วัตถุ นี่สามารถกําหนดเป็นตัวแปร และใช้หากจําเป็น

เดอะ SizeInPoints ฟังก์ชัน SECONDS () จะคืนค่ากลับมาเป็นค่าเป็นค่าจํานวนวินาทีของเวลาที่กําหนด ShapeRenderer) ผลก็คือ SizeF วัตถุที่บรรจุความกว้างและความสูง