間違いはどこからタイトルを変更しました。旧題名は「PrintRequestAttributeSetにMediaSize指定を追加する?」です。Javaの本家の仕様解説文が長いこと間違ったままであったとという話です。一部はまだ間違ったままです。最初に信じてうまく行かなくて困ったのは「Java印刷サービスAPIユーザー・ガイド」でしたが、API仕様ドキュメントの記述も違っていました。パッケージの説明ページの最下部なのであまり見ない部分でしたから当時は気がついていませんでした。Java印刷サービスで印刷する用紙をA4に指定する方法の話です。Java印刷サービスAPIユーザー・ガイドの中の属性の指定方法には次のような説明があります。次の例では、PrintRequestAttributeSetを作成して、A4媒体を使用してジョブを5部両面印刷しています。正しくはMediaSizeName.ISO_A4です。上のリンクはJava8のものです。URLにも8が見えています。この記述の過去とこの後が気になります。Javaに印刷サービスが追加導入されたのは、Java1.4の時ですから2002年ごろのことです。ユーザーガイド」は今となっては見つけにくいですが、探し出せました。この記述になっています。して、印刷サービスの開発の過程で変更になったのに例文が元のままという事態なのかもしれませんが、それでは調査が困難です。間違いのはじまりは諦めることにします。現在Javaのバージョンは12になっています。誰かが気がつけば修正されるはずです。直っていれば私の理解が正しかったということになりますし、そうでなければ私の理解不足の疑念は晴れません。この間違いと思われる記述は、どこまでこのままなのか調べてみました。「Java印刷サービスAPI」などでウェブ検索をして出てくるのが上記のリンクのページで、Java8です。9以上がなかなか見つかりません。「Java印刷サービスAPI」は拡張された時の特別な解説文なので、時が経ってもう無くてもいいだろうと、無くなった、あるいは目立つ所に置かないようになったのかもしれません。探しているうちに、別のところにも同様なプログラム例があることがわかりました。このパッケージの説明文にもありました。MediaSize.ISO_A4ではなく、MediaSize.A4になっています。どちらにしても間違っていますが。このパッケージの説明文のプログラム例はjava1.4からありました。Java5では改行がなくなって2行のリストになっていますが中身は同じ。6,7,8で同じです。Java8を出しておきます。javax.print.attributeの説明文にもありますが、インスタンス名のpsStreamが大文字小文字のミス、綴のミスでこのままではコンパイルできません。間違いも含めてそのままです。javax.printです。java9のものがそのまま出ています。javax.print.attributeです。java9のものがそのまま出ています。}まとめ正しいのは、MediaSizeName.ISO_A4です。Specificationへ到達するまでの様子が変わりました。htmlのフレーム仕立てでなくなりました。Java12について構造の概略を示します。SpecificationのOverviewに達する。そこから、Moduleの選択になります。java.desktopです。この先は見慣れたクラスなどのマニュアルです。リンク調査したリンクのJava8とJava12の一覧です。java.desktopの中にjavax.printjavax.print.attribute安達順一(2019-05-21)https://dabiyone.com/。