質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

682閲覧

JavaでPostScriptを使用し描画内容を表示したい

-_sora.

総合スコア12

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2020/07/25 08:23

編集2020/07/25 10:53

前提・実現したいこと

PostScriptをjavaで使用し,適当に線を描画して表示させたいのですが,出力するファイルの拡張子をどう設定すればよいのか分かりません.

該当のソースコード

import java.io.PrintStream; public class Postprint { public static void main(String[] args){ try{ PrintStream cout = new PrintStream(args[0], "UTF-8");/* プリント出力するファイル名 */ cout.println( "newpath" ); cout.println("100 200 moveto"); cout.println("300 400 lineto"); cout.println("stroke"); cout.printf("showpage"); cout.close(); } catch(Exception e) { e.printStackTrace();/* エラー処理 :トレース*/ } } }

試したこと

引数のファイル拡張子をpdf,jpg,png,ps,epsと手当たり次第に試したのですがどれも「サポートされていない形式です」や「ファイルが破損しています」と表示され,閲覧ができませんでした.
エラーは特に何も出ていません.

※私としてはPrintStreamクラスを生成し,cout.println();とすれば命令が実行されるものとばかり思っていたのですが,違うのであればその部分も教えていただけると幸いです.

補足情報(FW/ツールのバージョンなど)

eclipse2018のjava10を使用しています.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/07/25 08:31

ドキュメントに何も書いてないのでしょうか。
-_sora.

2020/07/25 08:35

特に何も書いておりません. 私としてはこのように命令を書けば線を描画したファイルが勝手に出力されるものだとばかり思っていたのですが,違うのでしょうか?
m.ts10806

2020/07/25 08:36

では、そもそもこのコードはなにを参考に書いたのですか?
-_sora.

2020/07/25 08:42

このサイト(http://denki.nara-edu.ac.jp/~yabu/soft/ps.html)にあった一般的な命令と,授業の教材に描画するメソッド内で PrintStream cout = new PrintStream(args[0], "UTF-8");/* プリント出力するファイル名 */ ・ ・ ・ cout.println( "showpage" ); のように書かれてあったのでそれを参考にcout.println()で命令が記述できるものかと思い,記述しました
xebme

2020/07/28 02:53

PosiScriptコマンドを実行するにはPostScript用のエンジン(ハードウェア)が必要です。参照先のサイトではプリンターにコマンドを送信して描画させようとしています。 オープンソースソフトウェアのGhost ScriptでPSコマンドを実行できます。インストールすれば、PSコマンドを読み込ませて描画できます。 あなたがやっていることは、エディタでPSコマンドを記述する代わりにプログラムでPSファイルを作成しているだけです。拡張子はps。
guest

回答1

0

自己解決

PrintStream cout = new PrintStream(args[0], "UTF-8");
と入力し,cout.println()とすることで描画の命令が書けた.

投稿2020/08/13 10:34

-_sora.

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問