2015-10-20 1 views
0

У меня есть простой файл Word, и я хотел бы преобразовать его в PDF, используя documents4j api. Вы искали несколько часов, но не узнали, как писать код. Мне просто нужен базовый рабочий код.Определенный пример простого преобразования файлов Word в формат PDF с использованием документов4j, пожалуйста?

+0

Вы пытались решить эту проблему? Если у вас есть, отредактируйте свой вопрос, чтобы включить свой код и исследование, чтобы показать, что не сработало для вас. Если вы этого не сделали, сначала попытайтесь решить эту проблему, а затем опубликуйте код и исследуйте здесь. Это затрудняет ответ другим пользователям! – SuperBiasedMan

ответ

2

Добавить необходимые зависимости в pom.xml

т.е.,

 <dependency> 
      <groupId>com.documents4j</groupId> 
      <artifactId>documents4j-api</artifactId> 
      <version>0.2.1</version> 
     </dependency>  

     <dependency> 
      <groupId>com.documents4j</groupId> 
      <artifactId>documents4j-util-conversion</artifactId> 
      <version>0.2.1</version> 
     </dependency> 

     <dependency> 
      <groupId>com.documents4j</groupId> 
      <artifactId>documents4j-transformer</artifactId> 
      <version>0.2.1</version> 
     </dependency> 

     <dependency> 
      <groupId>com.documents4j</groupId> 
      <artifactId>documents4j-util-all</artifactId> 
      <version>0.2.1</version> 
     </dependency> 

     <dependency> 
      <groupId>com.documents4j</groupId> 
      <artifactId>documents4j-local</artifactId> 
      <version>0.2.1</version> 
     </dependency> 

     <dependency> 
      <groupId>com.documents4j</groupId> 
      <artifactId>documents4j-local-demo</artifactId> 
      <version>0.2.1</version> 
     </dependency> 

и использовать следующий фрагмент кода для того, чтобы преобразовать документ в формате PDF. В приведенном ниже примере я преобразую RTF-файл в PDF.

 ByteArrayOutputStream bo = new ByteArrayOutputStream(); 

     InputStream in = new BufferedInputStream(new FileInputStream("C:\\PDF\\RichText1.rtf")); 
     IConverter converter = LocalConverter.builder() 
              .baseFolder(new File("C:\\PDF\\")) 
              .workerPool(20, 25, 2, TimeUnit.SECONDS) 
              .processTimeout(5, TimeUnit.SECONDS) 
              .build(); 

     Future<Boolean> conversion = converter 
             .convert(in).as(DocumentType.RTF) 
             .to(bo).as(DocumentType.PDF) 
             .prioritizeWith(1000) // optional 
             .schedule(); 

Таким образом, ваш требуемый преобразованный файл будет храниться в объекте ByteArrayOutputStream (bo) здесь.

 Смежные вопросы

  • Нет связанных вопросов^_^