2014-02-20 1 views
0

Как создать PDF-файл в gcs, а также вставить некоторые данные?Как написать содержание в pdf? Служба облачного хранилища Google

Это мой код:

GcsService gcsService = GcsServiceFactory.createGcsService(new RetryParams.Builder() 
      .initialRetryDelayMillis(10) 
      .retryMaxAttempts(10) 
      .totalRetryPeriodMillis(15000) 
      .build()); 

      GcsFilename filename = new GcsFilename("areteaics", "test.pdf"); 
      GcsFileOptions options = new GcsFileOptions.Builder().mimeType("application/pdf").build(); 
      GcsOutputChannel writeChannel = gcsService.createOrReplace(filename,options);   
      PrintWriter out = new PrintWriter(Channels.newWriter(writeChannel, "UTF8")); 
      //out.println("The woods are lovely dark and deep."); 
      //out.println("But I have promises to keep."); 
      //out.flush(); 
      writeChannel.waitForOutstandingWrites(); 
      //writeChannel.write(ByteBuffer.wrap("And miles to go before I sleep.".getBytes())); 
      writeChannel.close(); 
+0

Проблема в том, что при попытке открыть pdf-файл - в консоли облачного хранилища - сказал, что файл поврежден. – user3009757

ответ

1

Это не выглядит, как вы создаете PDF-файл в формате (вы просто сделать файл с расширением PDF). Для создания pdf-файла вам нужно использовать библиотеку, например itext, а затем записать ее в cloudstorage.

например с помощью IText написать OutputStream src:

Document document = new Document(); 
    PdfWriter.getInstance(document, response.getOutputStream()); 
    document.open(); 
    document.add(new Paragraph("This is a paragraph")); 
    document.close(); 

Вы должны были бы изменить код выше, чтобы написать ГКС (вместо OutputStream ответа).

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