สำหรับผู้อ่านในอนาคตที่กำลังดูโพสต์นี้ข้อผิดพลาดนี้ยังคงอยู่ที่ 2.12 ต่อไปนี้เป็นตัวอย่างที่มองเห็นข้อผิดพลาดภาพหน้าจอจาก pdf ที่ฉันสร้างขึ้นโดยใช้ Print Composer เลเยอร์ทั้งหมดรวมถึงแผนที่ฐานของภาพ Bing นั้นมี EPSG: 3857 (WGS 84 / Pseudo Mercator) ฉันตั้งข้อสังเกตด้วยสีแดงว่าภาพต้นแบบได้เปลี่ยนไปอย่างไร การเปลี่ยนแปลงนี้เกิดขึ้นในเอาต์พุต Print Composer เท่านั้น ทุกที่อื่นมันจัดตำแหน่งอย่างถูกต้อง ดูเหมือนว่าจะเป็นการเปลี่ยนข้อมูลบางส่วน:
แต่มันไม่ใช่การเปลี่ยนตัวเลข มันเป็นข้อผิดพลาด Print Composer ที่เปลี่ยนตำแหน่งของแผนที่ใด ๆ (ทั้งหมดหรือไม่ฉันไม่แน่ใจอย่างน้อย Bing Aerial) แผนที่ฐาน OpenLayers เมื่อส่งออกไปยัง pdf (png เช่นกันฉันคิดว่า) แต่การเปลี่ยนแปลงนี้จะเกิดขึ้นเฉพาะในกรณีที่มีระยะขอบรอบ ๆ แผนที่ใน Print Composer - เช่นพื้นที่แผนที่มีขนาดเล็กกว่าขนาดกระดาษ แม้เป็นมิลลิเมตร (แปลกกว่านี้เหรอ?)
โชคดีที่คำอธิบายของ Shankar (ขอบคุณ!) ให้วิธีแก้ปัญหา ฉันจะขยายคำตอบของเขาด้วยรายละเอียดเหล่านี้:
หากต้องการเพิ่มข้อผิดพลาดหากคุณเพิ่มแผนที่ลงใน Print Composer ที่มีแผนที่ฐานของ OpenLayers แผนที่จะต้องเติมเต็มขนาดหน้าทั้งหมดโดยไม่ต้องเว้นระยะขอบ (นี่เป็นเรื่องที่โชคไม่ดี ในการเติมหน้าให้ไปที่แผงรายการคุณสมบัติของแผนที่ (ดู> แผง> คุณสมบัติของรายการที่เลือกไว้) ขยายส่วน "ตำแหน่งและขนาด" หมายเหตุกล่อง X, Y, ความกว้างและความสูง พวกมันกำหนดจุดกำเนิดและส่วนขยายของแผนที่บนหน้า เนื่องจากเราต้องการให้ขนาดแผนที่เท่ากับขนาดหน้าเราจึงป้อนค่าขนาดหน้า ตัวอย่างเช่นขนาดกระดาษ A4 คือ 210 มม. x 297 มม. ( http://www.papersizes.org/a-paper-sizes.htm ) ดังนั้นสำหรับแผนที่แนวตั้งให้ป้อน: X = 0, Y = 0, Width = 210, Height = 297
- ค่าเหล่านี้สมมติว่า "จุดอ้างอิง" ถูกเลือกไปยังกล่องทิศตะวันตกเฉียงเหนือ
ขอให้สังเกตว่าแผนที่เติมทั้งหน้า ตอนนี้เมื่อคุณส่งออกเป็นไฟล์ PDF ภาพฐานแผนที่พื้นฐานจะไม่เปลี่ยน