TeX je sázecí systém, který byl známý jako jeden z nejsofistikovanějších digitálních typografických systémů. TeX se používá pro sazbu dokumentů a generování výstupů jako PDF, XPS a různé formáty obrázků. Mohou nastat situace, kdy potřebujete jednotně navrhnout spoustu dokumentů. K tomu se ukáže jako užitečné vytvoření vlastního formátu TeX. Za tímto účelem vás tento článek naučí, jak vytvořit vlastní formát TeX a vysázet jej do formátů PDF a XPS pomocí C++.
- C++ API pro vytváření vlastního formátu TeX a jeho sazbu do PDF a XPS
- Vytvořte vlastní formát TeX pomocí C++
- Vysázet vlastní formát TeX na formát XPS
- Sazba Custom TeX Format to PDF Format
C++ API pro vytváření vlastního formátu TeX a jeho sazbu do PDF a XPS
Aspose.TeX for C++ je knihovna C++ pro práci se soubory TeX bez nutnosti instalace dalšího softwaru. API umožňuje sázet soubory TeX, vytvářet vlastní formát TeX a generovat výstup ve formátech jako XPS, PDF, PNG, JPEG, TIFF, BMP. Rozhraní API můžete nainstalovat buď prostřednictvím NuGet, nebo si jej stáhnout přímo ze sekce Downloads.
PM> Install-Package Aspose.TeX.Cpp
Vytvořte vlastní formát TeX pomocí C++
Následují kroky k vytvoření vlastního formátu TeX.
- Vytvořte instanci třídy TeXOptions pomocí hodnoty vlastnosti TeXConfig::getObjectIniTeX().
- Zadejte vstupní a výstupní pracovní adresáře.
- Vytvořte formát pomocí TeX::CreateFormat(System::String path, System::SharedPtr možnosti) metoda.
Následující ukázkový kód ukazuje, jak vytvořit vlastní formát TeX pomocí C++.
// Vytvořte možnosti sazby na rozšíření enginu ObjectTeX.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::get_ObjectIniTeX());
// Zadejte pracovní adresář systému souborů pro vstup.
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory"));
// Zadejte pracovní adresář systému souborů pro výstup.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));
// Spusťte vytváření formátu.
Aspose::TeX::TeX::CreateFormat(u"customtex", options);
Vysázet vlastní formát TeX na formát XPS
Následují kroky pro sazbu vlastního formátu TeX na formát XPS.
- Vytvořte instanci třídy IWorkingDirectory, která bude reprezentovat vstupní pracovní adresář.
- Načtěte soubor TeX pomocí třídy FormatProvider.
- Vytvořte instanci třídy TeXOptions pomocí dříve vytvořeného objektu FormatProvider.
- Nastavte JobName, InputWorkingDirectory a OutputWorkingDirectory.
- Použijte Typeset(System::SharedPtrSystem::IO::Stream stream, System::SharedPtrPresentation::Device zařízení, System::SharedPtr options) a předejte objekt XpsDevice jako argument pro vytvoření výstupu XPS.
Následuje ukázkový kód pro sazbu vlastního formátu TeX na formát XPS.
// Vytvořte vstupní pracovní adresář systému souborů.
System::SharedPtr<IWorkingDirectory> wd = System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory");
{
// Vytvořte poskytovatele formátu.
System::SharedPtr<FormatProvider> formatProvider = System::MakeObject<FormatProvider>(wd, u"customtex");
// Vymazání zdrojů pod příkazem 'používá se'
System::Details::DisposeGuard<1> __dispose_guard_0({ formatProvider });
// -------------------------------------------
try
{
// Vytvořte možnosti sazby pro vlastní formát na rozšíření enginu ObjectTeX.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX(formatProvider));
options->set_JobName(u"typeset-with-custom-format");
// Zadejte vstupní pracovní adresář.
options->set_InputWorkingDirectory(wd);
// Zadejte pracovní adresář systému souborů pro výstup.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));
// Spusťte sazbu.
Aspose::TeX::TeX::Typeset(System::MakeObject<System::IO::MemoryStream>(System::Text::Encoding::get_ASCII()->GetBytes(u"Congratulations! You have successfully typeset this text with your own TeX format!\\end")), System::MakeObject<XpsDevice>(), options);
}
catch (...)
{
__dispose_guard_0.SetCurrentException(std::current_exception());
}
}
Sazba Custom TeX Format to PDF Format
Následují kroky pro sazbu vlastního formátu TeX do formátu PDF.
- Vytvořte instanci třídy IWorkingDirectory, která bude reprezentovat vstupní pracovní adresář.
- Načtěte soubor TeX pomocí třídy FormatProvider.
- Vytvořte instanci třídy TeXOptions pomocí dříve vytvořeného objektu FormatProvider.
- Nastavte JobName, InputWorkingDirectory a OutputWorkingDirectory.
- Vytvořte instanci třídy PdfSaveOptions a předejte ji TeXOptions->setSaveOptions(System::SharedPtrAspose::TeX::Presentation::SaveOptions hodnota) metoda.
- Použijte Typeset(System::SharedPtrSystem::IO::Stream stream, System::SharedPtrPresentation::Device zařízení, System::SharedPtr options) a předejte objekt PdfDevice jako argument pro vytvoření výstupu PDF.
Následující ukázkový kód ukazuje, jak vysázet vlastní formát TeX do formátu PDF.
// Vytvořte vstupní pracovní adresář systému souborů.
System::SharedPtr<IWorkingDirectory> wd = System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory");
{
// Vytvořte poskytovatele formátu.
System::SharedPtr<FormatProvider> formatProvider = System::MakeObject<FormatProvider>(wd, u"customtex");
// Vymazání zdrojů pod příkazem 'používá se'
System::Details::DisposeGuard<1> __dispose_guard_0({ formatProvider });
// -------------------------------------------
try
{
// Vytvořte možnosti sazby pro vlastní formát na rozšíření enginu ObjectTeX.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX(formatProvider));
options->set_JobName(u"typeset-with-custom-format");
// Zadejte vstupní pracovní adresář.
options->set_InputWorkingDirectory(wd);
// Zadejte pracovní adresář systému souborů pro výstup.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));
// Zadejte možnosti PdfSaveOptions
options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());
// Spusťte sazbu.
Aspose::TeX::TeX::Typeset(System::MakeObject<System::IO::MemoryStream>(System::Text::Encoding::get_ASCII()->GetBytes(u"Congratulations! You have successfully typeset this text with your own TeX format!\\end")), System::MakeObject<PdfDevice>(), options);
}
catch (...)
{
__dispose_guard_0.SetCurrentException(std::current_exception());
}
}
Získejte bezplatnou licenci
Rozhraní API můžete vyzkoušet bez omezení hodnocení, když požádáte o bezplatnou dočasnou licenci.
Závěr
V tomto článku jste se naučili, jak vytvořit vlastní formát TeX pomocí C++. Dále jste se naučili, jak vysázet vlastní formát TeX na formáty PDF a XPS pomocí Aspose.TeX for C++ API. Rozhraní API můžete podrobně prozkoumat na oficiální dokumentaci. V případě jakýchkoli dotazů nás neváhejte kontaktovat na našem bezplatném fóru podpory.