如何给java提供tamil word docx来制作PDF

时间:2014-12-19 09:29:04

标签: java fonts

我使用xDoc报告通过提供docx文件作为输入来生成PDF。当我使用英语docx文件时,一切都很好,当我使用我的其他语言docx文件时,我无法将pdf视为可读。

这是我的代码..

        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);

这是我的泰米尔语字体docx并作为输入

enter image description here

生成的输出如下所示。 enter image description here

任何想法都将受到赞赏。

0 个答案:

没有答案