如何将泰米尔语单词docx交给java制作PDF
我使用xDoc报告生成PDF,将docx文件作为输入。当我使用英语docx文件时,一切都很好,当我使用其他语言docx文件时,我无法获得可读的pdf 这是我的密码如何将泰米尔语单词docx交给java制作PDF,java,fonts,Java,Fonts,我使用xDoc报告生成PDF,将docx文件作为输入。当我使用英语docx文件时,一切都很好,当我使用其他语言docx文件时,我无法获得可读的pdf 这是我的密码 File fil = new File( "/home/madurauser/analyzer/LOS/DocxProjectWithVelocity1.docx"); FileInputStream in = new FileInputStream(fil);
File fil = new File(
"/home/madurauser/analyzer/LOS/DocxProjectWithVelocity1.docx");
FileInputStream in = new FileInputStream(fil);
IXDocReport report = XDocReportRegistry.getRegistry().loadReport(
in, TemplateEngineKind.Velocity);
FieldsMetadata metadata = new FieldsMetadata();
metadata.addFieldAsList("developers.Inst");
metadata.addFieldAsList("developers.MBalance");
metadata.addFieldAsList("developers.MDemand");
metadata.addFieldAsList("developers.MInterest");
metadata.addFieldAsList("developers.MPrincipal");
metadata.addFieldAsList("developers.GBalance");
metadata.addFieldAsList("developers.GDemand");
metadata.addFieldAsList("developers.GInterest");
metadata.addFieldAsList("developers.GPrincipal");
metadata.addFieldAsList("developers.Members");
metadata.addFieldAsList("developers.Month");
report.setFieldsMetadata(metadata);
IContext context = report.createContext();
List<Developer> developers = new ArrayList<Developer>();
List<LoanRepaymentSchedule> repay = this.loanService
.getLoanRepaymentScheduleById(groupLoan.getLoanId()
.longValue());
LoanRepaymentSchedule rep = repay.get(repay.size() - 1);
Project project = new Project(lt, loan.getGroupName(),
lastFiveDigitsAccNo, groupDto.getVillageName(),
groupDto.getCluster(), groupDto.getClusterCentre(),
groupDto.getRegion(), intLoanAmount, loan.getLoanAccNo(),
Long.valueOf(loan.getLoanInstallments()),
loan.getGroupId(), decIntRate, loan.getAnimator(),
loan.getRep1(), loan.getRep2(), noOfDays, brokenPeriod,
sanctionDate, lastFiveDigitsAccNo, strSancDate,
rep.getMemberCount());
context.put("project", project);
for (Iterator iterator = repay.iterator(); iterator.hasNext();) {
LoanRepaymentSchedule loanRepaymentSchedule = (LoanRepaymentSchedule) iterator
.next();
String month;
Integer year = loanRepaymentSchedule.getYear();
Integer formattedDate = year % 100;
developers.add(new Developer(intgBal, intgDem, intgInt,
intgPri, intmBal, intmDem, intmInt, intmPri, month,
loanRepaymentSchedule.getMemberCount(),
loanRepaymentSchedule.getMemberCount(),
loanRepaymentSchedule.getSerialNo()));
context.put("developers", developers);
}
// OutputStream out = new FileOutputStream(new File(conv+".pdf"));
OutputStream out = new FileOutputStream(new File(files + "_" + groupID
+ ".pdf"));
Options options = Options.getTo(ConverterTypeTo.PDF).via(
ConverterTypeVia.XWPF);
report.convert(context, options, out);
File fil=新文件(
“/home/madurauser/analyzer/LOS/DocxProjectWithVelocity1.docx”);
FileInputStream in=新的FileInputStream(fil);
IXDocReport report=XDocReportRegistry.getRegistry().loadReport(
在中,TemplateEngineKind.Velocity);
FieldsMetadata=新的FieldsMetadata();
metadata.addFieldAsList(“developers.Inst”);
metadata.addFieldAsList(“developers.MBalance”);
metadata.addFieldAsList(“developers.MDemand”);
metadata.addFieldAsList(“developers.MInterest”);
metadata.addFieldAsList(“developers.MPrincipal”);
addFieldAsList(“developers.GBalance”);
addFieldAsList(“developers.GDemand”);
metadata.addFieldAsList(“developers.GInterest”);
addFieldAsList(“developers.GPrincipal”);
metadata.addFieldAsList(“developers.Members”);
metadata.addFieldAsList(“developers.Month”);
报告.setFieldsMetadata(元数据);
IContext context=report.createContext();
List developers=new ArrayList();
List return=this.loanService
.getLoanRepaymentScheduleById(groupLoan.getLoanId()
.longValue());
LoanRepaymentSchedule rep=return.get(return.size()-1);
Project=新项目(lt,loan.getGroupName(),
lastFiveDigitsAccNo,groupDto.getVillageName(),
groupDto.getCluster(),groupDto.getclustercenter(),
groupDto.getRegion(),intLoanAmount,loan.getLoanAccNo(),
Long.valueOf(loan.getLoanInstallations()),
loan.getGroupId(),Decentrate,loan.getAnimator(),
loan.getRep1(),loan.getRep2(),noOfDays,brokenPeriod,
批准日期,最后五个数字编号,strSancDate,
rep.getMemberCount());
上下文。put(“项目”,project);
for(Iterator Iterator=repreat.Iterator();Iterator.hasNext();){
LoanRepaymentSchedule LoanRepaymentSchedule=(LoanRepaymentSchedule)迭代器
.next();
弦月;
整数年=贷款付款计划。getYear();
整数formattedDate=年份%100;
添加(新开发人员(intgBal、intgDem、intgInt、,
intgPri,intmBal,intmDem,intmInt,intmPri,月,
loanRepaymentSchedule.getMemberCount(),
loanRepaymentSchedule.getMemberCount(),
loanRepaymentSchedule.getSerialNo());
上下文。put(“开发者”,开发者);
}
//OutputStream out=新文件OutputStream(新文件(conv+“.pdf”);
OutputStream out=新文件OutputStream
+“.pdf”);
Options=Options.getTo(ConverterTypeTo.PDF).via(
转换器类型via.XWPF);
转换(上下文、选项、输出);
这是我的泰米尔字体docx,作为输入
生成的输出如下所示。
如果您有任何想法,我们将不胜感激。@Jongware,我已经编辑了这个问题,希望屏幕能更好地解释您。您是否尝试过同样的方法打开office?对不起,您能解释一下吗?您可以看到我的答案,这可能会对您有所帮助。[1] [1]:谢谢,试过这个后让你知道。。。