first commit

main
李建辉 1 month ago
commit a3c7516083

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="lib" path="lib/aspose-cells-22.10.jar"/>
<classpathentry kind="lib" path="lib/aspose-words-21.1.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>WordExcelToPDF</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

@ -0,0 +1,11 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.8

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -0,0 +1,102 @@
import java.io.File;
import java.io.IOException;
import com.aspose.cells.PageOrientationType;
import com.aspose.cells.PageSetup;
import com.aspose.cells.Workbook;
import com.aspose.cells.Worksheet;
import com.aspose.words.Document;
import com.aspose.words.SaveFormat;
public class WordExcelToPDF {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
// 示例将Word文档转换为PDF
String fileName = args[0];
int lastDotIndex = fileName.lastIndexOf('.');
String baseName = fileName.substring(0, lastDotIndex);
String pdfPath = baseName + ".pdf";
System.out.println(pdfPath);
convertToPdf(args[0],pdfPath);
// 示例将Excel工作簿转换为PDF
// convertToPdf("example.xlsx", "output.pdf");
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* WordExcelPDF
*
* @param inputFile
* @param outputFile
*/
public static void convertToPdf(String inputFile, String outputFile) throws Exception {
File file = new File(inputFile);
String extension = getFileExtension(file);
switch (extension.toLowerCase()) {
case "doc":
case "docx":
// 使用Aspose.Words将Word文档转换为PDF
Document doc = new Document(inputFile);
doc.save(outputFile, SaveFormat.PDF);
break;
case "xls":
case "xlsx":
// 使用Aspose.Cells将Excel工作簿转换为PDF
// Workbook workbook = new Workbook(inputFile);
// workbook.save(outputFile, com.aspose.cells.SaveFormat.PDF);
// 加载Excel文件
Workbook workbook = new Workbook(inputFile);
// 获取第一个工作表(根据实际情况选择)
Worksheet worksheet = workbook.getWorksheets().get(0);
// 设置页面布局
PageSetup pageSetup = worksheet.getPageSetup();
// System.out.println(" worksheet.getCells().getMaxDataColumn()====="+ worksheet.getCells().getMaxDataColumn());
// // 设置页面方向为横向(如果列太多)
pageSetup.setOrientation(PageOrientationType.LANDSCAPE);
//
// // 自动调整所有列宽以适应内容
// for (int i = 0; i < worksheet.getCells().getMaxDataColumn(); i++) {
// worksheet.autoFitColumn(i);
// }
//
// // 设置缩放方式:将所有列缩放到一页宽度
// pageSetup.setFitToPagesWide(1);
// pageSetup.setFitToPagesTall(0);
// 保存为PDF
try {
workbook.save(outputFile, com.aspose.cells.SaveFormat.PDF);
System.out.println("文件已成功转换为PDF");
} catch (Exception e) {
System.err.println("转换过程中出现错误:" + e.getMessage());
throw e;
}
break;
default:
throw new IOException("不支持的文件格式: " + extension);
}
}
/**
*
*
* @param file
* @return
*/
private static String getFileExtension(File file) {
String fileName = file.getName();
if(fileName.lastIndexOf(".") != -1 && fileName.lastIndexOf(".") != 0)
return fileName.substring(fileName.lastIndexOf(".")+1);
else return "";
}
}
Loading…
Cancel
Save