Преобразование Visio в формат PDF
Экспорт на PDF
Aspose.Diagram for Java непосредственно записывает информацию о API и номере версии в выходных документах. Например, при отображении чертежа на PDF, Aspose.Diagram for Java заполняетЗаявлениеполе со значением «Aspose.Diagram» иPDF Продюсерполе со значением, например «Aspose.Diagram 17,9».
Обратите внимание, что вы не можете поручить Aspose.Diagram for Java API изменить или удалить эту информацию из выходных документов.
В этой статье объясняется, как экспортировать Microsoft Visio diagram в PDF с помощьюAspose.Diagram for Java API.
ИспользоватьDiagram class' для чтения файлов diagram и метод Save для экспорта diagram в любой поддерживаемый формат изображения.
The image below shows the VSD diagram that the code snippets below export PDF. You can use other diagram formats (VSS, VSSX, VSSM, VDX, VST, VSTX, VSTM, VDX, VTX or VSX) as well.
Исходный файл.
Чтобы экспортировать VSD diagram в PDF:
- Создайте экземпляр класса Diagram.
- Вызовите метод Save классов Diagram и установите выходной формат PDF.
Ниже приведено изображение выходного файла PDF.
Выходной файл PDF.
Экспорт в PDF Образец программы
// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(ExportToPDF.class); | |
// Call the diagram constructor to load diagram from a VSD file | |
Diagram diagram = new Diagram(dataDir + "ExportToPDF.vsd"); | |
// Save as PDF file format | |
diagram.save(dataDir + "ExportToPDF_Out.pdf", SaveFileFormat.PDF); |
Разделить несколько страниц
Aspose.Diagram for Java позволяет разделить несколько страниц при преобразовании Microsoft Visio Diagram в PDF. В следующем фрагменте кода показана функциональность.
// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(UsePDFSaveOptions.class); | |
// Call the diagram constructor to load diagram from a VSDX file | |
Diagram diagram = new Diagram(dataDir + "Network Diagram_start.vsdx"); | |
// Options when saving a diagram into the PDF format | |
PdfSaveOptions options = new PdfSaveOptions(); | |
// set SplitMultiPages option | |
options.setSplitMultiPages(true); | |
// save in PDF format | |
diagram.save(dataDir + "SplitMultiPages.pdf", options); |
Использовать обратный вызов для сохранения страницы
Если у вас есть несколько страниц, Aspose.Diagram for Java позволяет использовать обратный вызов сохранения страницы при преобразовании Microsoft Visio Diagram в PDF. Следующий фрагмент кода показывает функциональность.
// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(DocumentConversionProgress.class); | |
// load a Visio diagram | |
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx"); | |
// create an instance PDF save options class | |
PdfSaveOptions options = new PdfSaveOptions(); | |
//set page saving call back | |
options.setPageSavingCallback( new TestDiagramPageSavingCallback()); | |
// save Visio drawing | |
diagram.save(dataDir + "Callback_out.pdf", options); |
Класс TestDiagramPageSavingCallback
// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-Java | |
import com.aspose.diagram.IPageSavingCallback; | |
import com.aspose.diagram.PageEndSavingArgs; | |
import com.aspose.diagram.PageStartSavingArgs; | |
public class TestDiagramPageSavingCallback implements IPageSavingCallback | |
{ | |
public void pageStartSaving(PageStartSavingArgs args) | |
{ | |
System.out.println("Start saving page index " + args.getPageIndex() + " of pages " + args.getPageCount()); | |
} | |
public void pageEndSaving(PageEndSavingArgs args) | |
{ | |
System.out.println("End saving page index " + args.getPageIndex() + " of pages " + args.getPageCount()); | |
//don't output pages after page index 8. | |
if (args.getPageIndex() >= 8) | |
{ | |
args.setHasMorePages(false); | |
} | |
} | |
} | |