投稿

12月, 2023の投稿を表示しています

Brotherプリンタで「用紙サイズが不一致です」、用紙厚さ「封筒」の不具合

イメージ
Brother MFC-J7100CDW で Word や Excel からユーザー設定のページサイズを印刷した場合「用紙サイズが不一致です」が解消できない 印刷設定からプリンタープロパティを開いた時の画面 この時点で用紙サイズがデフォルトのA4等が表示されているのがそもそもおかしく プリンタプロパティ側のユーザー定義サイズを設定したところで不具合に変化はありません Wordがプリンタへ 任意の用紙サイズ 情報を送っていないのではないかと思われます 今回の対応は、pdf へ一旦出力して、Adobe Reader 等で印刷を行いました Excelも同様 また、pdf出力した内容を、Adobe Reader で封筒へ印刷しようとして、用紙厚さを「封筒」へ設定したところ、大きく余白が取られ、縮小もしくは一部しか印刷されない という不具合にあい、何故か用紙厚さを「普通」へ変更した所、問題なく出力されました こちらは、プリンタドライバ側の問題??

javascript 埋め込み json のエスケープ

アプリケーションから html 内の javascript 定数へ json を吐き出した時のダブルクォーテーションやシングルクォーテーションのエスケープでハマったのでメモ captionへ「Hello "World" '23」という文字列を投入しようとした場合 まずは、アプリケーションのjsonライブラリから得られる文字列     { "caption" : "Hello \" World \" '23" } 上記をjavascriptへシングルクォーテーションでそのまま落とすと      const json = '{"caption":"Hello \" World \" ' 23 "}' ; シングルクォーテーション('23の所)をエスケープして      const json = '{"caption":"Hello \" World \" \' 23"}' ;      const jsonArray = JSON . parse ( json ); 問題なさそげだけどブラウザに \"World \" の所でエラーが報告される これ、変数 json に代入された時点で \" がエスケープされて {"caption":"Hello " World " ' 23"} これを JSON.parse へ渡しても \" がエスケープされてないという事になる 正しくは  {"caption":"Hello \ "World \ " ' 23"} でなければならないので エスケープのエスケープが必要となる      const json = '{"caption":"Hello \\ "World \\ " \' 23"}'

PHP の list へ渡す要素数が不足している場合は array_pad で要素埋め

explode 等を用いて list へ配列代入時に要素数が不足している場合 array_pad で不足した要素数に指定した値(下記では '00') を入れる // $timestr = '14:30:20'; $timestr = '14:30' ; list ( $hour , $min , $sec ) = array_pad ( explode ( ':' , $timestr , 3 ), 3 , '00' ); 不足要素へ false 等を入れて、後で判定するのもありかも