Baskı biletleri ekleme ve değiştirme
C++ aracılığıyla XPS dosyalarının baskı biletlerini oluşturun, düzenleyin, bağlayın ve alın
XPS dosyaları bağlamında yazdırma bileti, bir belgenin nasıl yazdırılması gerektiğini belirten bir dizi talimattır. Temel olarak aşağıdakilerle ilgili bilgileri içeren bir yapılandırma dosyasıdır:
- Yazdırılan sayfaların boyutları ve yönü.
- Kağıt tepsisi veya besleyici kullanılacaktır.
- Yazdırılan çıktının çözünürlüğü ve renk derinliği.
- Kağıdın her iki yüzüne de yazdırılıp yazdırılmayacağı.
- Sayfaların yazdırılması ve harmanlanması gereken sıra.
- Zımbalama, ciltleme veya delik delme gibi ek sonlandırma seçenekleri.
Yazdırma biletlerini anlayarak ve kullanarak, yazdırma sürecini optimize edebilir ve XPS belgeleriniz için istediğiniz çıktıyı elde edebilirsiniz.
Aspose.Page API çözümü, diğer farklı özelliklerin yanı sıra, basılı biletlerle çalışmaya olanak tanır. Burada bunların nasıl oluşturulacağını, düzenleneceğini, alınacağını ve bağlanacağını açıklayan bilgiler bulacaksınız. XPS dosyalarının yazdırma biletlerini yönetmek için şunlara ihtiyacımız var:
-Aspose.Page for C++ API, zengin özelliklere sahip, güçlü ve kullanımı kolay bir belge işleme ve dönüştürme aracıdır.
-NuGet paket yöneticisini açın ve Aspose.Page'i arayın ve yükleyin. Aşağıdaki komutu Paket Yönetici Konsolundan da kullanabilirsiniz.
Package Manager Console Command
PM> Install-Package Aspose.Page
Özel bir yazdırma bileti oluşturma adımları C++.
- Belgeler dizininin yolunu ayarlayın.
- XpsDocument Class kullanarak bir XPS dosyası oluşturun.
- JobPrintTicket Yapıcısını kullanarak özel bir iş yazdırma bileti ekleyin.
- Bilete özel bir sayfa parametresi başlatıcısı ve özel sayfa çözünürlüğü seçeneği ekleyin.
- Değiştirilen XPS belgesini XPsDocument.Save() Yöntemini kullanarak kaydedin.
Özel bir baskı bileti oluşturun
// The path to the documents directory. | |
System::String dir = RunExamples::GetDataDir_WorkingWithPrintTickets(); | |
// Create new XPS document | |
{ | |
System::SharedPtr<XpsDocument> document = System::MakeObject<XpsDocument>(); | |
// Clearing resources under 'using' statement | |
System::Details::DisposeGuard<1> __dispose_guard_0({ document}); | |
// ------------------------------------------ | |
try | |
{ | |
// Set a custom job-level print ticket | |
document->set_JobPrintTicket(System::MakeObject<JobPrintTicket>( | |
System::MakeArray<System::SharedPtr<IJobPrintTicketItem>>({ | |
// Specify input bin. | |
System::MakeObject<JobInputBin>(System::MakeArray<System::SharedPtr<InputBin::IInputBinItem>>({InputBin::InputBinOption::Manual->Clone()->Add(System::MakeArray<System::SharedPtr<InputBin::IInputBinOptionItem>>( | |
{InputBin::FeedFace::FaceDown, InputBin::FeedDirection::LongEdgeFirst, System::MakeObject<InputBin::MediaSheetCapacity>(100)}))})), | |
// Specify output bin. | |
System::MakeObject<JobOutputBin>(System::MakeArray<System::SharedPtr<OutputBin::IOutputBinItem>>({ | |
System::MakeObject<OutputBin::OutputBinOption>(System::MakeArray<System::SharedPtr<OutputBin::IOutputBinOptionItem>>( | |
{OutputBin::BinType::Sorter})), | |
System::MakeObject<OutputBin::OutputBinOption>(System::MakeArray<System::SharedPtr<OutputBin::IOutputBinOptionItem>>( | |
{OutputBin::BinType::Stacker, System::MakeObject<OutputBin::MediaSheetCapacity>(100)}))})), | |
// Specify page orientation. | |
System::MakeObject<PageOrientation>(System::MakeArray<System::SharedPtr<PageOrientation::PageOrientationOption>>( | |
{PageOrientation::PageOrientationOption::Landscape})), | |
// Specify duplex mode for the output. | |
System::MakeObject<JobDuplexAllDocumentsContiguously>(System::MakeArray<System::SharedPtr<Duplex::DuplexOption>>( | |
{Duplex::DuplexOption::TwoSidedLongEdge(Duplex::DuplexMode::Automatic)})), | |
// Specify the color settings for the output. | |
System::MakeObject<PageOutputColor>(System::MakeArray<System::SharedPtr<PageOutputColor::IPageOutputColorItem>>( | |
{PageOutputColor::PageOutputColorOption::Grayscale(0, 8)}))}))); | |
// Save the document with the custom job-level print ticket. | |
document->Save(dir + u"output1.xps"); | |
} | |
catch(...) | |
{ | |
__dispose_guard_0.SetCurrentException(std::current_exception()); | |
} | |
} |
XPS yazdırma biletlerini C++ aracılığıyla düzenleme adımları.
- Belgeler dizininin yolunu ayarlayın.
- XpsDocument Sınıfını kullanarak XPS Belgesini yazdırma biletleriyle açın.
- Gerekli olmayan parametreleri biletten kaldırmak için Remove() Yöntemini kullanın.
- XPsDocument.Save() Yöntemi aracılığıyla, belgeyi değiştirilen iş yazdırma biletiyle kaydedin.
Basılı bileti düzenleme
// The path to the documents directory. | |
System::String dir = RunExamples::GetDataDir_WorkingWithPrintTickets(); | |
// Open XPS Document with print tickets | |
System::SharedPtr<XpsDocument> xDocs = System::MakeObject<XpsDocument>(dir + u"input3.xps"); | |
System::SharedPtr<JobPrintTicket> pt = xDocs->get_JobPrintTicket(); | |
// Remove some parameters from job print ticket | |
pt->Remove(System::MakeArray<System::String>({u"ns0000:PageDevmodeSnapshot", u"ns0000:JobInterleaving", u"ns0000:JobImageType"})); | |
// Add some parameters to job print ticket | |
pt->Add(System::MakeArray<System::SharedPtr<IJobPrintTicketItem>>({System::MakeObject<JobCopiesAllDocuments>(2), | |
System::MakeObject<PageMediaSize>(System::MakeArray<System::SharedPtr<PageMediaSize::IPageMediaSizeItem>>({PageMediaSize::PageMediaSizeOption::ISOA4}))})); | |
// Save the document with changed job print ticket. | |
xDocs->Save(dir + u"output3.xps"); |
C++ aracılığıyla basılı bilet alma adımları.
- Belgeler dizininin yolunu ayarlayın.
- XpsDocument Sınıfını kullanarak XPS Belgesini yazdırma biletleriyle açın.
- JobPrintTicket Oluşturucusu ile iş yazdırma biletini oluşturun.
- GetDocumentPrintTicket() Yöntemini kullanarak belge yazdırma biletini oluşturun.
- GetPagePrintTicket() Yöntemini kullanarak sayfa yazdırma biletini alın.
- XPsDocument.Save() Yöntemini kullanarak belgeyi değiştirilmiş iş yazdırma biletiyle kaydedin.
Basılı bilet alın
// The path to the documents directory. | |
System::String dir = RunExamples::GetDataDir_WorkingWithPrintTickets(); | |
// Open XPS Document without print tickets | |
System::SharedPtr<XpsDocument> xDocs = System::MakeObject<XpsDocument>(dir + u"input1.xps"); | |
// Get job print ticket | |
System::SharedPtr<JobPrintTicket> jobPrintTicket = xDocs->get_JobPrintTicket(); | |
// must be null for this document | |
// Get document print ticket | |
System::SharedPtr<DocumentPrintTicket> docPrintTicket = xDocs->GetDocumentPrintTicket(1); | |
// must be null for this document | |
// Get page print ticket | |
System::SharedPtr<PagePrintTicket> pagePrintTicket = xDocs->GetPagePrintTicket(1, 1); | |
// must be null for this document | |
// Save the document. Default print tickets are automatically added to document while saving. | |
xDocs->Save(dir + u"output1.xps"); | |
// Open saved earlier XPS Document with print tickets | |
System::SharedPtr<XpsDocument> xDocs2 = System::MakeObject<XpsDocument>(dir + u"output1.xps"); | |
// Print tickets must not be null | |
System::Console::WriteLine(xDocs2->get_JobPrintTicket()); | |
System::Console::WriteLine(xDocs2->GetDocumentPrintTicket(1)); | |
System::Console::WriteLine(xDocs2->GetPagePrintTicket(1, 1)); |
XPS dosyası için yazdırma biletlerini C++ aracılığıyla bağlama adımları.
- Belgeler dizininin yolunu ayarlayın.
- Yeni bir XPS dosyası oluşturun ve XpsDocument Class‘ı kullanarak XPS Belgesini yazdırma biletleriyle açın.
- XpsDocument Class‘ı kullanarak XPS Belgesini yazdırma biletleriyle açın
- İş yazdırma biletini JobPrintTicket Oluşturucusuna bağlayın.
- GetDocumentPrintTicket() ve SetDocumentPrintTicket() Yöntemlerini kullanarak belge yazdırma biletini bağlayın
- GetPagePrintTicket() ve SetPagePrintTicket() Yöntemlerini kullanarak sayfa yazdırma biletini bağlayın.
- XPsDocument.Save() Yöntemi aracılığıyla belgeyi değiştirilmiş iş yazdırma bileti ile kaydedin.
Basılı bilet bağlama
// The path to the documents directory. | |
System::String dir = RunExamples::GetDataDir_WorkingWithPrintTickets(); | |
// Create new XPS document | |
System::SharedPtr<XpsDocument> xDocs1 = System::MakeObject<XpsDocument>(); | |
// Open XPS Document with print tickets | |
System::SharedPtr<XpsDocument> xDocs2 = System::MakeObject<XpsDocument>(dir + u"input2.xps"); | |
// Link job print ticket | |
xDocs1->set_JobPrintTicket(xDocs2->get_JobPrintTicket()); | |
// Link document print ticket | |
xDocs1->SetDocumentPrintTicket(1, xDocs2->GetDocumentPrintTicket(2)); | |
// Link page print ticket | |
xDocs1->SetPagePrintTicket(1, 1, xDocs2->GetPagePrintTicket(3, 2)); | |
// Save the document with linked print tickets. | |
xDocs1->Save(dir + u"output1.xps"); |
XPS XPS Dosya Biçimi nedir
XPS formatı, PDF formatına benzer. Her ikisi de sayfa açıklama dili (PDL) biçimleridir. EPS, PostScript diline değil, HTML'ye dayalıdır. .eps dosyası, belgenin nasıl görüneceğine ilişkin bilgilerle birlikte belgenin yapısının bir işaretini içerebilir. Belgenin nasıl yazdırılacağına ve oluşturulacağına ilişkin ek talimatlar da vardır. Formatın özelliği, belgenin açıklamasını düzeltmesidir, bu da onu kimden ve hangi işletim sisteminden açarsa açsın aynı görüneceği anlamına gelir.