Convert Visio to PDF format
Exporting to PDF
Aspose.Diagram for Java directly writes the information about the API and Version Number in output documents. For example, upon rendering a Drawing to PDF, Aspose.Diagram for Java populates 应用值为“Aspose.Diagram”的字段和PDF Producer具有值的字段,例如“Aspose.Diagram 17.9”。
请注意,您不能指示 Aspose.Diagram for Java API 更改或从输出文档中删除此信息。
This article explains how to export a Microsoft Visio diagram to PDF using Aspose.Diagram for Java API.
使用Diagram类的构造函数读取 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.
源文件。
To export VSD diagram to PDF:
- 创建 Diagram 类的实例。
- Call the Diagram classs Save method and set the output format to PDF.
Below is an image of the output PDF file.
输出PDF文件。
Exporting to PDF Programming Sample
// 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 allows splitting multiple pages while converting the Microsoft Visio Diagram to PDF. The following code snippet shows the functionality.
// 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); |
使用页面保存回调
In case you have multiple pages, Aspose.Diagram for Java allows using page saving callback while converting the Microsoft Visio Diagram to PDF. The following code snippet shows the functionality.
// 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); | |
} | |
} | |
} | |