-
まずはお試しください
-
BuildVuを実行する
-
Webサービスとクラウド
-
- マイクロサービスの設定
- Rubyを使ってBuildVuマイクロサービスにアクセスする
- Pythonを使ってBuildVu Microserviceにアクセスする
- PHPを使ってBuildVuマイクロサービスにアクセスする
- NodeJSを使用してBuildVuマイクロサービスにアクセスする
- Javascriptを使用してBuildVuマイクロサービスにアクセスする
- Javaを使ってBuildVu Microserviceにアクセスする
- cURLを使ってBuildVu Microserviceにアクセスする
- C#を使ってBuildVuマイクロサービスにアクセスする
- Dartを使用してBuildVu Microserviceにアクセスする
- すべて表示 ( 5 ) 折り畳む
-
変換オプション
- クリップオフセット値の設定
- コンプリートドキュメント
- 画像の圧縮
- SVGの圧縮
- ページあたりの画像数のしきい値設定
- 画像をBase64ストリームとして埋め込む
- SVGをBase64画像として埋め込む
- インライン SVG
- 画像スケール
- コメントの無効化
- オリジナルのファイル名を作成する
- 起動アクションを有効にする
- フォントをテキストモードでラスタライズする
- 検索ファイルの生成
- ページ範囲の設定(論理ページ番号)
- ページ範囲の設定(実際のページ番号)
- 最大ページ高
- 最大ページ幅
- 1インチあたりのピクセル数
- スケール設定
- 収録フォントの設定
- 最小フォントサイズ
- 小さなテキスト除去のしきい値
- 出力するディレクトリ名の削除
- テキストを単語に分割
- テキストモード - textMode
- サムネイルの出力
- サムネイルの最大高
- サムネイルの最大幅
- レガシー画像ファイルタイプの使用
- ビューアのユーザーインターフェース - Viewer UI
- 表示モード
- パスワード
- CSS Suffix (CSS 接尾辞)
- テンポラリファイルの暗号化
- 外部ハイパーリンクを無効にする
- ハイパーリンクの検出を無効にする
- すべて表示 ( 32 ) 折り畳む
-
テキストとフォント
-
IDRViewer-専用ビューア
-
アノテーション
-
ヒント&テクニック
-
困ったときの対処法
-
よくある質問
-
APIドキュメント
-
アップデート情報
- BuildVu 2025.01 Release Notes
- BuildVu 2024.12 Release Notes
- BuildVu 2024.11 Release Notes
- BuildVu 2024.10 Release Notes
- BuildVu 2024.08 Release Notes
- BuildVu 2024.07 Release Notes
- BuildVu 2024.05 Release Notes
- BuildVu 2024.04 Release Notes
- BuildVu 2024.03 Release Notes
- BuildVu 2024.01 Release Notes
- BuildVu 2023.04 Release Notes
- BuildVuマイクロサービスにおけるAPIの変更
- 白い線が表示される問題の改善
- すべて表示 ( 8 ) 折り畳む
-
- BuildVu 2021.05 Release Notes
- BuildVu 2021.06 Release Notes
- BuildVu 2021.08 Release Notes
- BuildVu 2021.09 Release Notes
- BuildVu 2021.11 Release Notes
- BuildVu 2021.12 Release Notes
- BuildVu 2021.04 Release Notes
- BuildVu 2021.02 Release Notes
- BuildVu 2021.01 Release Notes
- 2021.06リリースでのdivタグの変更点とその理由?
- すべて表示 ( 5 ) 折り畳む
-
- BuildVu 2019.12 Release Notes
- BuildVu April 2019 Release Notes
- BuildVu August 2019 Release Notes
- BuildVu February 2019 Release Notes
- BuildVu January 2019 Release Notes
- BuildVu June 2019 Release Notes
- BuildVu May 2019 Release Notes
- BuildVu October 2019 Release Notes
- BuildVu September 2019 Release Notes
- すべて表示 ( 4 ) 折り畳む
-
ライセンスとバージョン
Dartを使用してBuildVu Microserviceにアクセスする
はじめに
次のチュートリアルでは、ホストされているBuildVuクラウドAPIを使用してPDFファイルをHTMLまたはSVGに変換する方法を説明します:
- IDRsolutionsのトライアルおよびクラウドサブスクリプションサービス
- ご自身でホスティングするBuildVuのマイクロサービス
This tutorial uses our REST API.
前提条件
作業を開始する前に、Dart SDK の最新バージョンがインストールされていることを確認してください。この点については、Dart のウェブサイトで詳しく説明されています。
また、以下のライブラリもインストールしてください。
http
http_parser
path
コード例
PDFファイルをHTMLまたはSVGに変換するための基本的なコード例を以下に示します。設定オプションおよび高度な機能については、以下をご覧ください:
import 'dart:io';
import 'package:http/http.dart' as http;
import 'package:http_parser/http_parser.dart';
import 'package:path/path.dart';
import 'dart:convert' as convert;
void main() async {
final apiUrl = 'https://cloud.idrsolutions.com/cloud/buildvu';
final filePath = 'path/to/exampleFile.pdf';
final file = File(filePath);
// Prepare the request headers and form data
final request = http.MultipartRequest('POST', Uri.parse(apiUrl));
request.fields['token'] = 'your_token'; //Required only when connecting to the IDRsolutions trial and cloud subscription service
request.fields['input'] = 'upload';
// Add the file to the form data
final fileBytes = await file.readAsBytes();
final fileStream = http.ByteStream.fromBytes(fileBytes);
final fileLength = file.lengthSync();
final fileName = basename(filePath);
request.files.add(http.MultipartFile(
'file',
fileStream,
fileLength,
filename: fileName,
contentType: MediaType('application', 'pdf'),
));
late String uuid;
// Send the request to upload the file
try {
final response = await request.send();
if (response.statusCode != 200) {
print('Error uploading file: ${response.statusCode}');
exit(1);
}
final responseBody = await response.stream.bytesToString();
final Map responseData = convert.jsonDecode(responseBody);
uuid = responseData['uuid'];
print('File uploaded successfully!');
} catch (e) {
print('Error uploading file: $e');
exit(1);
}
// Poll until done
try {
while (true) {
final pollResponse = await http.Request('GET', Uri.parse('$apiUrl?uuid=$uuid')).send();
if (pollResponse.statusCode != 200) {
print('Error Polling: ${pollResponse.statusCode}');
exit(1);
}
final Map pollData = convert.jsonDecode(await pollResponse.stream.bytesToString());
if (pollData['state'] == "processed") {
print("Preview URL: ${pollData['previewUrl']}");
print("Download URL: ${pollData['downloadUrl']}");
break;
} else {
print("Polling: ${pollData['state']}");
}
// Wait for next poll
await Future.delayed(Duration(seconds: 1));
}
} catch (e) {
print('Error polling file: $e');
exit(1);
}
}
コールバック URL に結果を返す
BuildVu マイクロサービスは、変換完了時のステータスを送信するためのコールバック URL を受け入れます。コールバック URL を使用することで、変換が完了したかどうかを判断するためにサービスをポーリングする必要がなくなります。
コールバック URL は、以下のようにパラメータマップに指定することができます:
final request = http.MultipartRequest('POST', Uri.parse(apiUrl));
request.fields['token'] = 'your_token'; //Required only when connecting to the IDRsolutions trial and cloud subscription service
request.fields['input'] = 'upload';
request.fields['callbackUrl'] = 'http://listener.url';
設定オプション
BuildVu APIは、変換をカスタマイズするためのキーバリューペアの設定オプションを含む文字列化されたJSONオブジェクトを受け入れます。設定はパラメータ配列に追加する必要があります。PDFファイルをHTMLまたはSVGに変換するための設定オプションの完全なリストはこちらでご覧いただけます。
final settings = {
"key": "value",
"key": "value",
};
final settingsJson = convert.jsonEncode(settings);
final request = http.MultipartRequest('POST', Uri.parse(apiUrl));
request.fields['settings'] = settingsJson;
URLを指定してアップロード
ローカルファイルをアップロードするだけでなく、URLを指定してBuildVu Microserviceがダウンロードし、変換を実行することもできます。これを行うには、パラメータ変数内の入力とファイルの値を以下の値に置き換えてください。
import 'dart:convert';
import 'package:http/http.dart' as http;
import 'package:http_parser/http_parser.dart';
void main() async {
final apiUrl = 'https://cloud.idrsolutions.com/cloud/buildvu';
final fileUrl = 'hosted_file_url';
final fileName = 'hosted_file_name';
try {
// Get the file from the URL
final response = await http.get(Uri.parse(fileUrl));
if (response.statusCode == 200) {
// Convert the file content to bytes
final fileBytes = response.bodyBytes;
// Prepare the request headers and form data
final request = http.MultipartRequest('POST', Uri.parse(apiUrl));
request.fields['token'] = 'your_token'; //Required only when connecting to the IDRsolutions trial and cloud subscription service
request.fields['input'] = 'upload';
// Add the downloaded file to the form data
final fileStream = http.ByteStream.fromBytes(fileBytes);
final fileLength = fileBytes.length;
request.files.add(http.MultipartFile(
'file',
fileStream,
fileLength,
filename: fileName,
contentType: MediaType('application', 'pdf'),
));
// Send the request to upload the file (same as above code example)
// Poll until done (same as above code example)
} else {
print('Error downloading file: ${response.statusCode}');
}
} catch (e) {
print('Error: $e');
}
}
認証の採用
BuildVu マイクロサービスが認証を必要とする場合は、ユーザー名とパスワードを入力する必要があります。これらは、下記のように、convert メソッドに username と password という名前の2つの変数を渡すことで提供されます。
String apiUrl = 'https://your-api-url.com/endpoint';
String username = 'your-username';
String password = 'your-password';
String credentials = '$username:$password';
String base64Credentials = base64Encode(utf8.encode(credentials));
Map headers = {'Authorization': 'Basic $base64Credentials',};
try {
final response = await http.get(Uri.parse(apiUrl), headers: headers);
if (response.statusCode == 200) {
print('Response body: ${response.body}');
} else {
print('Failed to load data. Status code: ${response.statusCode}');
}
} catch (e) {
print('Error: $e');
}