จะลบรูปแบบเครื่องพิมพ์เริ่มต้นของระบบได้อย่างไร


12

ใน Windows มีรูปแบบเครื่องพิมพ์เริ่มต้นของระบบซึ่งไม่สามารถลบได้จากกล่องโต้ตอบคุณสมบัติเซิร์ฟเวอร์การพิมพ์ มีวิธีอื่นที่สามารถลบได้หรือไม่ เราจะไม่ใช้ขนาดหน้าเช่นซองจดหมาย, B5 (JIS), US Std Fanfold และอื่น ๆ และฉันต้องการบันทึกผู้ใช้ (และตัวฉันเอง!) จากการเลื่อนรายการเสียงขนาดใหญ่

กล่องคุณสมบัติเซิร์ฟเวอร์การพิมพ์มีปุ่มลบที่ใช้ไม่ได้

เซิร์ฟเวอร์การพิมพ์ของเราคือ Windows Server 2003 หากนั่นสร้างความแตกต่าง


การลบแบบฟอร์มระบบอาจไม่ใช่ตัวเลือก ทำไมไม่ลองและตั้งค่ารูปแบบเริ่มต้นสำหรับแต่ละถาดในเครื่องพิมพ์แทนที่จะต้องเลื่อนลงทุกครั้ง
ServerFaulter

@ServerFaulter ฉันต้องการรูปแบบเดียวกันสำหรับเครื่องพิมพ์หลายเครื่อง (และพวกเขามีถาดเดียวสำหรับส่วนใหญ่ส่วนใหญ่เป็นพล็อตเตอร์ป้อนม้วนรูปแบบขนาดใหญ่)
matt wilkie

2
นี่คือสลัมสมบูรณ์ แต่คุณสามารถตั้งชื่อรูปแบบของคุณ000 MyForm - MyPageSizeหรือคล้ายกัน
voretaq7

@ voretaq7 ฉันคิดว่านั่นเป็นตัวเลือกที่ดีที่สุดจริง ๆ
Dan

2
@ แดนมันหลีกเลี่ยงปัญหา แต่ก็ไม่ได้แก้ปัญหาแน่นอน คุณควรจะสามารถลบเทมเพลตที่ไม่จำเป็นออกไปได้ แต่ถ้า MS จะทำให้มันน่าเบื่อ
voretaq7

คำตอบ:


5

ความคิดแรกของฉันคือดูว่าสิ่งนี้สามารถทำได้โดยใช้ Windows API หรือไม่ แต่ตามเว็บไซต์นี้เกี่ยวกับ Win32 Printer Forms API มันเป็นไปไม่ได้ที่จะลบรูปแบบระบบโดยทางโปรแกรม:

หนึ่งไม่สามารถ DeleteForm () ในรูปแบบ builtin: มันล้มเหลวด้วย ERROR_INVALID_PARAMETER

ความคิดที่สองของฉันคือการหาชื่อฟอร์มที่ค่อนข้างไม่ซ้ำใครเช่นUS Std Fanfoldและค้นหารีจิสตรีทั้งหมด น่าแปลกที่พืชผลในหลาย ๆ ที่ ดังนั้นข้อเสนอแนะของฉันคือการสร้างเครื่อง 32 บิตที่ว่างเปล่า (32 บิตเพื่อหลีกเลี่ยงความสับสนกับปุ่มเงา) และไปที่เมืองด้วยกุญแจเหล่านั้น หากคุณทำให้มันใช้งานได้มันควรจะง่ายต่อการเคลื่อนย้ายไปทุกที่ที่คุณต้องการ

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


หน้า API ของฟอร์มที่เชื่อมโยงนั้นเขียนได้ดีเป็นพิเศษ แม้ว่าฉันจะไม่ใช่นักพัฒนา แต่มันก็ทำให้ฉันชัดเจนขึ้น ขอบคุณ
matt wilkie

2

แบบฟอร์มกระดาษมาตรฐานเป็นส่วนหนึ่งของไดรเวอร์เครื่องพิมพ์และสามารถลบได้ด้วยตนเองจากไฟล์ที่เกี่ยวข้อง

นี่เป็นแนวทางว่าฉันทำได้อย่างไร:

1. เปิด CMD ในฐานะผู้ดูแลระบบ

2. ป้อน "printui / s / t2" (ไม่มีเครื่องหมายคำพูด)

3. ในหน้าต่าง opend เลือกเครื่องพิมพ์ที่จะลบแบบฟอร์มกระดาษและคลิก Properties ที่ด้านล่าง

4. มองหาไฟล์ที่แสดงใน explorer ภายใต้พา ธ ที่ระบุ (อาจเป็น C: \ Windows \ System32 \ spool \ drivers \ x64 \ 3)

5. ทำสำเนาสำรองของไฟล์ทั้งหมดเหล่านี้ (เช่นในโฟลเดอร์บนเดสก์ท็อป)

6. เปิดแต่ละไฟล์ต้นฉบับด้วยโปรแกรมแก้ไข (ทีละไฟล์) หากมีรหัสที่สามารถอ่านได้ให้กด Ctrl + F (เพื่อเปิดการค้นหา) และป้อนหนึ่งในแบบฟอร์มกระดาษชื่อที่โดดเด่นมากขึ้นซึ่งควรจะลบ (เช่นโปสการ์ด, กฎหมาย, จดหมาย ... ) หากไม่พบคำค้นหา ปิดไฟล์โดยไม่บันทึกและลองใช้ไฟล์ถัดไป (ในกรณีของฉันฉันพบพวกเขาในไฟล์ที่มีนามสกุล ".gpd" und ".inx" สำหรับเครื่องพิมพ์จริง ".PPD" สำหรับผู้สร้าง PDF ของฉัน)

7. เมื่อพบรายการ: ควรมีย่อหน้าที่มีบล็อครหัสระบุไว้สำหรับแบบฟอร์มกระดาษทั้งหมด ตัวอย่างบางส่วน:

    [JAPANESE_POSTCARD]
    MediaType=8.1055
    InputBin=7

หรือ

    *Option: JAPANESE_POSTCARD_90x90x50x95
    {
        *Name: ""
    }

หรือ

    *Option: JAPANESE_POSTCARD
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *Constraints: LIST(Duplex.VERTICAL, Duplex.HORIZONTAL)
        *Constraints: InputBin.4
        *PageDimensions: PAIR(4724, 6992)
        *PrintableArea: PAIR(4412, 6680)
        *PrintableOrigin: PAIR(156, 156)
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *CursorOrigin: PAIR(156, 156)
            }
            *case: LANDSCAPE_CC270
            {
                *CursorOrigin: PAIR(4568, 156)
            }
        }
        *Command: CmdSelect
        {
            *CallbackID: 0x00470002
            *Order: DOC_SETUP.2
        }
        *Command: CmdSelect
        {
            *CallbackID: 0x00470002
            *Order: PAGE_SETUP.2
        }
    }

ลบบล็อคดังกล่าวทั้งหมดสำหรับแบบฟอร์มกระดาษที่ไม่พึงประสงค์ทั้งหมด เป็นไปได้ว่ามีมากกว่าหนึ่งย่อหน้าที่มีบล็อกที่คล้ายกันดังนั้นให้ค้นหาไฟล์และทำซ้ำจนกว่าจะไม่พบ จากนั้นบันทึกและปิดไฟล์

8. หลังจากเปลี่ยนไฟล์ทุกไฟล์แล้วให้เปิด dokument ใด ๆ (เช่น Word, Excel ... ) และตรวจสอบว่าแบบฟอร์มกระดาษที่ไม่ต้องการยังคงแสดงอยู่ในคุณสมบัติการพิมพ์ของเครื่องพิมพ์นั้น

หากยังมีอยู่: กลับไปที่ขั้นตอนที่ 6 ค้นหาไฟล์ถัดไป

ถ้าไม่: ขอแสดงความยินดี! (กลับไปที่ขั้นตอนที่ 3 หากมีเครื่องพิมพ์จำนวนมากที่ต้องกำจัดแบบฟอร์มที่ไม่ต้องการ)

- หากมีปัญหาใด ๆ : เขียนทับไฟล์ที่แก้ไขล่าสุดด้วยการสำรองข้อมูล (บางทีคุณอาจทำผิดพลาดลองอีกครั้ง)

หวังว่านี่จะช่วยได้ ไชโย!


1

บนเซิร์ฟเวอร์ของเครื่องพิมพ์เองฟอร์มจะอยู่ในรีจิสตรี:

HKLM \ System \ CurrentControlSet \ Control \ Print \ แบบฟอร์ม

(หมายเหตุ: ฉันไม่เคยลบแบบฟอร์มออกจากที่นี่ดังนั้นฉันจะสำรองข้อมูลของคีย์ก่อนที่จะลบและทดสอบผลลัพธ์)


ฉันลบรายการภายใต้คีย์นั้นและรีบูต แต่รายการเหล่านั้นยังคงปรากฏในรายการ (เครื่องพิมพ์และโทรสาร> คุณสมบัติเซิร์ฟเวอร์> แบบฟอร์ม)
แมตต์ wilkie

... นอกจากนี้ยังมีหลายรูปแบบที่ระบุไว้ในกล่องโต้ตอบคุณสมบัติเซิร์ฟเวอร์ที่ไม่แสดงภายใต้คีย์รีจิสทรีนั้น
แมตต์วิลคี

1
นั่นคือสิ่งที่ฉันต้องทำเพื่อกำจัดแบบฟอร์ม A2 ที่สองที่ฉันไม่สามารถลบได้ ขอบคุณ!
Stefan Schmiedl

1

เริ่มกระบวนการ "การจัดการการพิมพ์" (printmanagement.msc)

ภายใต้เซิร์ฟเวอร์ / แบบฟอร์มการพิมพ์คุณสามารถลบแบบฟอร์มเครื่องพิมพ์ แต่ไม่ใช่แบบฟอร์มที่มีอยู่แล้ว

ฉันยังไม่พบวิธีการลบแบบฟอร์มในตัวสำหรับฉันก็ไม่ชอบที่จะเห็น "เสียงรบกวน" ทั้งหมดในรายการแบบหล่นลง


1
นี่เป็นอินเทอร์เฟซที่ดีกว่าคุณสมบัติเครื่องพิมพ์สำหรับการจัดการเครื่องพิมพ์หรือแบบฟอร์มผู้ใช้หลายรายการขอบคุณ น่าเสียดายที่ตัวของบิวท์อินไม่สามารถลบออกหรือซ่อนอย่างน้อยจากมุมมองปกติ
matt wilkie
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.