Nyomtatási jegyek hozzáadása és kezelése
XPS-fájlok létrehozása, szerkesztése, csatolása és nyomtatási jegyek beszerzése a C++ segítségével
XPS-fájlok esetén a nyomtatási jegy egy olyan utasításkészlet, amely meghatározza a dokumentum nyomtatásának módját. Ez lényegében egy konfigurációs fájl, amely a következőkről tartalmaz információkat:
- A nyomtatott oldalak méretei és tájolása.
- A papírtálcát vagy az adagolót kell használni.
- A nyomtatott anyag felbontása és színmélysége.
- Nyomtasson-e a papír mindkét oldalára.
- Az oldalak nyomtatásának és leválogatásának sorrendje.
- Minden további befejezési lehetőség, például tűzés, kötés vagy lyukasztás.
A nyomtatási jegyek megértésével és felhasználásával optimalizálhatja a nyomtatási folyamatot, és elérheti a kívánt eredményt XPS-dokumentumai számára.
Az Aspose.Page API megoldás a különféle egyéb funkciók mellett lehetővé teszi a nyomtatási jegyekkel való munkát. Itt olyan információkat talál, amelyek elmagyarázzák, hogyan hozhatja létre, szerkesztheti, szerezheti be és kapcsolhatja össze őket. Az XPS-fájlok nyomtatási jegyeinek kezeléséhez a következőkre van szükségünk:
-Az Aspose.Page a C++ API-hoz, amely funkciókban gazdag, hatékony és könnyen használható dokumentumkezelés és konvertálás.
-Nyissa meg a NuGet csomagkezelőt, keresse meg az Aspose.Page-t, és telepítse. A következő parancsot is használhatja a Package Manager konzolból.
Package Manager Console Command
PM> Install-Package Aspose.Page
Egyéni C++ nyomtatási jegy létrehozásának lépései.
- Állítsa be a dokumentumok könyvtárának elérési útját.
- Hozzon létre XPS-fájlt az XpsDocument Class használatával.
- Adjon hozzá egyéni nyomtatási jegyet a munkához a JobPrintTicket konstruktor segítségével.
- Adjon hozzá egy egyéni oldalparaméter-inicializálót és egy egyéni oldalfelbontási beállítást a jegyhez.
- Mentse el a módosított XPS-dokumentumot a XPsDocument.Save() módszerrel.
Hozzon létre egyéni nyomtatási jegyet
// 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()); | |
} | |
} |
Az XPS-nyomtatási jegyek C++-on keresztüli szerkesztésének lépései.
- Állítsa be a dokumentumok könyvtárának elérési útját.
- Nyissa meg az XPS-dokumentumot nyomtatási jegyekkel az XpsDocument Class használatával.
- A nem szükséges paraméterek jegyből való eltávolításához használja a Remove() módszert.
- Mentse el a dokumentumot a megváltozott feladat nyomtatási jegyével a XPsDocument.Save() módszerrel.
Nyomtatott jegy szerkesztése
// 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"); |
A nyomtatott jegyek beszerzésének lépései C++-on keresztül.
- Állítsa be a dokumentumok könyvtárának elérési útját.
- Nyissa meg az XPS-dokumentumot nyomtatási jegyekkel az XpsDocument Class használatával.
- Hozzon létre egy munka nyomtatási jegyet a JobPrintTicket Constructor segítségével.
- Hozzon létre dokumentumnyomtatási jegyet a GetDocumentPrintTicket() módszerrel.
- Szerezze meg az oldalnyomtatási jegyet a GetPagePrintTicket() módszerrel.
- Mentse el a dokumentumot a megváltozott munka nyomtatási jegyével a XPsDocument.Save() módszerrel.
Nyomtasson jegyet
// 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)); |
Az XPS-fájl nyomtatási jegyeinek C++-on keresztüli összekapcsolásának lépései.
- Állítsa be a dokumentumok könyvtárának elérési útját.
- Hozzon létre egy új XPS-fájlt, és nyissa meg az XPS-dokumentumot nyomtatási jegyekkel az XpsDocument Class használatával.
- Nyissa meg az XPS-dokumentumot nyomtatási jegyekkel az XpsDocument Class használatával
- Kapcsolja össze a munka nyomtatási jegyét a JobPrintTicket Constructorral.
- Kapcsolja össze a dokumentumnyomtatási jegyet a GetDocumentPrintTicket() és a SetDocumentPrintTicket() módszerekkel
- Kapcsolja össze az oldalnyomtatási jegyet a GetPagePrintTicket() és a SetPagePrintTicket() módszerekkel.
- Mentse el a dokumentumot a megváltozott munka nyomtatási jegyével a XPsDocument.Save() módszerrel.
Nyomtatott jegy összekapcsolása
// 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 Mi a XPS fájlformátum
Az XPS formátum hasonló a PDF formátumhoz. Mindkettő oldalleíró nyelv (PDL) formátum. Az EPS HTML alapú, és nem PostScript nyelven. Az .eps fájl képes tartalmazni a dokumentum szerkezetének jelölését, valamint a dokumentum megjelenésére vonatkozó információkat. A dokumentum nyomtatására és renderelésére vonatkozó utasításokat is tartalmazzák. A formátum jellemzője, hogy rögzíti a dokumentum leírását, ami azt jelenti, hogy ugyanúgy fog kinézni, függetlenül attól, hogy ki és milyen operációs rendszerről nyitja meg.