ホーム › フォーラム › ReportsConnect for Kintone › 帳票の文字が途中で切れる現象発生
-
投稿者投稿
-
2015年8月17日 5:28 PM #250takakura参加者
いつもお世話になっております。
(エンドユーザ様が所有しているkintoneの環境で起きた現象のため、
全て細かく抑えられてはいないので、必要な情報がありましたら、
ご指摘ください。)現象:複数レコードを連続して帳票印刷(一括PDF化)しようとし、1レコードあたり4500文字程度のレコードを印刷しようとしたところ、文章の途中で切れてしまった。
契約等の状態・形態:
1) 契約の形態 pro版
2) 印刷の形態 複数レコードを連続して帳票印刷を実施
3) 文字が途中で切れた1レコードの文字数 約4500文字
4) jrxmlファイルの容量 11kb(kintone上の表示)確認したいこと:
1) 文字数の制限が存在しますか?
2) 制限が存在しないのであれば、このような現象を回避する方法はありますか?以上、宜しくお願い致します。
2015年8月18日 11:15 AM #251yoshikawa参加者takakura 様
お世話になっております。
以下、回答させていただきます。1) 文字数の制限
文字数の制限はないと思われます。2) 回避策
原因といたしまして、データを出力する範囲が固定長になっているのではないかと考えられます。
以下の手順にて、文字数に応じて出力範囲を自動で引き延ばすことができますのでご確認ください。①jrxmlファイルをiReportで開き、データが途切れているフィールドを選択します。
②[プロパティー]⇒[Stretch With Overflow]にチェックを入れます。2015年8月18日 1:10 PM #252takakura参加者yoshikawa様
お世話になっております。
ご回答ありがとうございます。
教えて頂いた観点で再度見直しをします。
更に不明点がありましたら、再度、ご質問させて頂きます。
宜しくお願い致します。2015年8月26日 11:54 AM #253sweetie参加者帳票の文字が途中で切れる件ですが、環境によって発生したりしなかったりするとの事ですので、考えられる調査方法を以下に書いてみます。
①まず、出力されるPDFを見る環境で表示に影響がある可能性があるので、NGの環境で出力したPDFを
OKの環境で見た場合どうなるかを確認して下さい。②それ以外に、環境に依存する部分としては、ReportsconnectのサーバーがAPIでレコードを読む部分ぐらいしか考えられないと思いますが、
その部分は、kintoneのJavaのSDKを使用して、以下のように読んでいます。Connection db = new Connection(domain, login,password);
ResultSet rs = db.select(apid, ql, null);
(appidはデータのアプリID、qlはクエリ)なお、レコード番号で読む場合は以下の様にしています。
ResultSet rs = db.select(apid, recid);
このselect(long, long)のメソッドは標準のconnectionには無く、以下の様なカスタムメソッドを作って対応しています
public ResultSet select(long app, long recid) throws DBException {
StringBuilder sb = new StringBuilder();
sb.append(“app=”);
sb.append(app);
sb.append(“&id=”);
sb.append(recid);
String api = new String(sb);
String response = request(“GET”, “record.json?” + api, null);
JsonParser parser = new JsonParser();
ResultSet rs = null;
try {
rs = parser.jsonToResultSetSingle(this, response);
} catch (IOException e) {
throw new ParseException(“failed to parse json to resultset”);
}
return rs;
}以上のAPIをNGのになる環境で発行した場合、正しくデータが返っているか確認してみたらいかがでしょうか?
2015年9月1日 10:40 AM #254takakura参加者sweetie様
いつもお世話になっております。takakuraです。
ご回答ありがとうございます。(1) 環境による違いの件
・PCの環境
出力されたPDF/PCの問題ではありませんでした。
(NGのPDFはNGでした。)
・kintoneの環境(異なるサブドメインで実施)
同一データ、同一アプリ(サブドメインが異なるので完全に同一ではありませんが、)でPDFを作成したところ、同じ現象が起きました。(2) REST API
申し訳ないのですが、Javaの環境が無いので、以下で確認してみました。
Cent OS + PHPの環境で、データの取得(GET)ができるかどうかを確認してみましたが、データそのものは最後まで取得できました。そこで、以下の2点のうち少なくとも一方で問題が起きているのではないか?と思われますが、何か手を打つ方法がありますでしょうか?
・JavaのAPI(kintoneのJavaのSDK部分)
・PDFを作成するロジック大変お手数をお掛け致しますが宜しくお願い致します。
2015年9月1日 11:16 AM #255sweetie参加者特定のデータ、アプリで現象が再現できるのであれば、こちらからその環境にアクセス出来るようにしていただくか、データ、アプリを送ってもらえれば、こちらのテスト環境で調査することは可能ですが。
2015年9月1日 12:07 PM #256takakura参加者sweetie様
いつもお世話になっております。takakuraです。
ご回答ありがとうございます。
では、弊社の環境にアクセスして頂く方針と致したいのですが、
どのように、url、ID、パスワード等の情報を開示すると良いでしょうか?
御社の方で私が会話できる方にお伝えすると良いでしょうか?
お手数をお掛け致しますが、宜しくお願い致します。2015年9月1日 1:16 PM #257fujita参加者2015年9月4日 2:20 PM #258sweetie参加者とりあえず解ったところまで。
こちらのデバッグ環境に載せて確認したところ、データは正しく読めています。
Jasperreportsに渡す直前まで、データは途切れていないので、Jasperreports側のbugと思われます。iReportの設定で、回避する方法があるか、もう少し調べてみます。
2015年9月4日 2:53 PM #259takakura参加者sweetie様
いつもお世話になっております。takakuraです。
ご連絡ありがとうございます。
引き続き宜しくお願い致します。2015年9月4日 3:16 PM #260yoshikawa参加者原因を調べている過程で、2通りの方法で途切れずに出力されることが確認できました。
ひとまずの回避方法としてこちらにご提案させていただきます。①文字サイズを変更する
文字サイズを1サイズ上下に変更したところ、出力できました。②文字が切れる項目の文字列の末尾に、改行を1つ足す
Minutesの長文の最後に改行を足すことで、描画範囲が拡大され文字が出力されました。Stretch with over flow が領域の高さを自動調整する際に、特定の文字サイズ(今回は10)によっては少し狭い高さを算出してしまい、最後の1行が途切れてしまうのかもしれません。
2015年9月8日 1:32 PM #261takakura参加者yoshikawa様
いつもお世話になっております。takakuraです。
ご回答ありがとうございます。
とりあえずはご回答頂いた内容で対処するように先方に依頼しました。宜しくお願い致します。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。