利用方法
簡単な利用方法
本サービスは、WEBページにフォームを設置したり、あるいはJavaScriptからPOSTしたりするだけで簡単に利用することが出来ます。 詳しくは、HTML / JavaScript での利用方法を御覧ください。
各プログラミング言語からの利用
さらに高度な使い方をする場合は、各プログラミング言語向けのAPIを利用してください。 APIのアドレスは次の通りです。言語ごとの説明は下のタブで切り替えてください。
ドライバURI: ctip://cti.li/
RESTインターフェース: https://cti.li/api/
各言語のドライバは github.com/zamasoftnet で Apache License 2.0 のもとに公開しています。
AIから使う
claude.ai や ChatGPT、コマンドラインの開発用AIからは MCP で呼べます。ドライバも認証も要りません。
MCP端点: https://cti.li/mcp
使い方はAIから使う(MCP)を御覧ください。
技術文書
ドライバおよびHTML→PDF変換についての全ての機能については、以下のドキュメントを参照してください。
Javaでの利用方法
ドライバの入手
現在の版は 2.2.3 です。JitPack から取得できます。
repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'com.github.zamasoftnet:cti.java:v2.2.3'
}
JARを直接使う場合は GitHub Releases からアーカイブを取得し、cti-driver-min-2.2.3.jar をライブラリとしてリンクしてください。
ウェブサイトを変換する
import java.io.File;
import java.net.URI;
import jp.cssj.cti2.CTIDriverManager;
import jp.cssj.cti2.CTISession;
import jp.cssj.cti2.helpers.CTISessionHelper;
public class ServerResource {
private static final URI SERVER_URI = URI.create("ctip://cti.li/");
public static void main(String[] args) throws Exception {
try (CTISession session =
CTIDriverManager.getSession(SERVER_URI, "user", "kappa")) {
// test.pdfに結果を出力する
CTISessionHelper.setResultFile(session, new File("test.pdf"));
// 変換対象のサイトへのアクセスを許可する
session.property("input.include", "https://cti.li/**");
// ウェブページを変換
session.transcode(URI.create("https://cti.li/"));
}
}
}
詳細なドキュメント
PHPでの利用方法
ドライバの入手
Composer で取得します。
composer config repositories.zamasoftnet-cti-php vcs https://github.com/zamasoftnet/cti.php composer require zamasoft/cti-php
ウェブサイトを変換する
<?php
require_once __DIR__ . '/vendor/autoload.php';
// セッションの開始
$session = cti_get_session('ctip://cti.li/',
array('user' => 'user', 'password' => 'kappa'));
// result.pdfに結果を出力する
$session->set_output_as_file('result.pdf');
// ウェブページを変換
$session->transcode('https://cti.li/');
// セッションの終了
$session->close();
詳細なドキュメント
Perlでの利用方法
ドライバの入手
現在の版は 2.1.4 です。
cpanm https://github.com/zamasoftnet/cti.perl/archive/refs/heads/main.tar.gz
ウェブサイトを変換する
use strict;
use warnings;
use CTI::DriverManager;
# 接続
my $session = CTI::DriverManager::get_session(
'ctip://cti.li/', user => 'user', password => 'kappa');
# result.pdfに結果を出力する
$session->set_output_as_file('result.pdf');
# ウェブページを変換
$session->transcode('https://cti.li/');
# 接続を閉じる
$session->close();
詳細なドキュメント
Rubyでの利用方法
ドライバの入手
現在の版は 2.1.1 です。Gemfile に次を書いて bundle install してください。
gem 'copper-cti', git: 'https://github.com/zamasoftnet/cti.ruby.git'
ウェブサイトを変換する
require 'CTI'
include CTI
# セッションの開始
get_session('ctip://cti.li/',
'user' => 'user',
'password' => 'kappa'
) do |session|
# result.pdfに結果を出力する
session.set_output_as_file('result.pdf')
# ウェブページを変換
session.transcode_server('https://cti.li/')
end
include CTI を書かない場合は CTI.get_session(...) と呼んでください。
詳細なドキュメント
Pythonでの利用方法
ドライバの入手
現在の版は 3.0.1 です。Python 3 用です。
pip install "git+https://github.com/zamasoftnet/cti.python.git#subdirectory=python3"
HTMLを変換する
from cti import get_session
# セッションの開始
with get_session(
'ctip://cti.li/',
{'user': 'user', 'password': 'kappa'}
) as session:
# result.pdfに結果を出力する
session.set_output_as_file('result.pdf')
# 文書の送信
with session.transcode() as out:
out.write(b'<html><body><p>Hello Python</p></body></html>')
詳細なドキュメント
Node.jsでの利用方法
ドライバの入手
現在の版は 1.0.0 です。Node.js 14 以降が必要です。
npm install https://github.com/zamasoftnet/cti.nodejs.git
TypeScript に正式対応しており、型定義が同梱されています。
JavaScript からは require('copper-cti') で読み込めます。
HTMLを変換する
import { get_session } from 'copper-cti';
async function main() {
// セッションの開始
const session = get_session('ctip://cti.li/', {
user: 'user',
password: 'kappa'
});
try {
// result.pdfに結果を出力する
session.setOutputAsFile('result.pdf');
// 文書の送信
const writer = session.transcode('.');
writer.write('<html><body><h1>Hello, Copper PDF!</h1></body></html>');
writer.end();
await session.waitForCompletion();
} finally {
// セッションの終了
session.close();
}
}
main();
詳細なドキュメント
.NET(C# / VB.NET)での利用方法
ドライバの入手
現在の版は 2.1.1 です。NuGet から取得できます。
dotnet add package Zamasoft.CTI
ウェブサイトを変換する
以下は、ウェブサイトをPDFに変換する簡単なプログラムです(C#)。
using System;
using Zamasoft.CTI;
namespace examples
{
class ServerResource
{
static void Main(string[] args)
{
using (Session session = DriverManager.getSession(
new Uri("ctip://cti.li/"), "user", "kappa"))
{
// test.pdfに結果を出力する
Utils.SetResultFile(session, "test.pdf");
// https://cti.li/以下にあるリソースへのアクセスを許可する
session.Property("input.include", "https://cti.li/**");
// ウェブページを変換
session.Transcode("https://cti.li/");
}
}
}
}
上記のプログラムのVB.NET版です。
Imports System
Imports Zamasoft.CTI
Module ServerResource
Sub Main()
Using session As Session = DriverManager.getSession( _
New Uri("ctip://cti.li/"), "user", "kappa")
' test.pdfに結果を出力する
Utils.SetResultFile(session, "test.pdf")
' https://cti.li/以下にあるリソースへのアクセスを許可する
session.Property("input.include", "https://cti.li/**")
' ウェブページを変換
session.Transcode("https://cti.li/")
End Using
End Sub
End Module
詳細なドキュメント
HTML / JavaScript での利用方法
この方法ではドライバは不要です。HTTPでそのまま呼び出せます。
最も簡単な方法
ブラウザのアドレスバーに以下のURLをコピー&ペーストしてください。
https://cti.li/api/transcode?rest.user=user&rest.password=kappa&rest.main=Hello+world%21
rest.mainパラメーターの内容がPDF化されます。
フォームから送った内容をPDF化する
同じことをフォームで行うことが出来ます。
<form action="https://cti.li/api/transcode" method="post"> <input type="hidden" name="rest.user" value="user"/> <input type="hidden" name="rest.password" value="kappa"/> <textarea name="rest.main">Hello world!</textarea><br/> <button type="submit">変換</button> </form>
認証
rest.user と rest.password を送らないと
3014 Authentication failure が返ります。
これらの代わりに HTTP の Authorization: Basic ヘッダーでも認証できます。
アドレスは前段のアクセスログに残るので、フォームやプログラムから呼ぶときはヘッダーを使ってください。