2017-02-02 31 views
1

私のコードネーム -appは、いくつかのデータを生成しています。これはドキュメント化のためにPDFファイルで要約できることがあります。テキスト文字列またはHTML文字列からPDFファイルを作成する

Javaライブラリをcn1ライブラリとして使用することも、HTML文字列を次のようなPDFファイルに変換するWebサービスを使用することもできますか。

https://www.html2pdfrocket.com/convert-android-html-to-pdf

たぶん他の誰かがすでにこのためのベストプラクティスを考え出しました。

ありがとうございます!

+0

表示されているHTMLまたはテキストですか? – Arendax

+0

私は与えられたデータからアプリケーション内部でStringとして収集しているテキストです。 HTML文字列も作成できました。 – socona

+0

質問は既にトピックとしてマークされています:http://stackoverflow.com/questions/431117/html2pdf-conversion – malat

答えて

1

現在の組み込みソリューションはありません。ネイティブライブラリをラップしたり、それを行うJavaSEライブラリを移植したりするのは簡単です。このようなことを行う開発者のほとんどは、PDFを生成するためにサーバー側のプロセスを使用します。代わりに使用するか、またはJavaライブラリを移植 - -

+0

あなたの権利は、少なくとも私の場合、サーバー側のプロセスは、最も簡単な方法です。 Util.downloadUrlTo *メソッドを使ってうまくいく! – socona

0

html2pdfrocketとの間に合わせとトライそれを与えた後、私はcodenameone持つ可能性のシンプルで単純驚きましました。私はこれがとても簡単であるとは思っていませんでした。

このクラスと方法は、PDFファイルを単にFileSystemStorageに保存するだけです。

import com.codename1.io.Util; 

public class PDFHandler { 

private final static String URL="http://api.html2pdfrocket.com/pdf"; 
private final static String APIKEY = "<YOURAPI-KEY>"; 


/** 
* Stores given HTML String or URL to Storage with given filename 
* @param value URL or HTML add quote if you have spaces. use single quotes instead of double 
* @param filename 
*/ 
public void getFile(String value,String filename){ 
    // Validate parameters 
    if(value==null||value.length()<1) 
     return; 
    if(filename==null||filename.length()<1) 
     return; 
    //Encode 
    value = Util.encodeUrl(value); 

    String fullPathToFile = FileSystemStorage.getInstance().getAppHomePath()+filename; 
    Util.downloadUrlToFileSystemInBackground(URL+"?apikey="+APIKEY+"&value="+value, fullPathToFile); 
} 

} 

私はこれが他のcodenameone-newbieに役立つことを願っています!