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

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

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

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

1回答

4572閲覧

UIViewの内容をPDFファイルで保存したい

bukubuku

総合スコア16

PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2017/01/17 04:31

編集2017/01/17 16:01

###前提・実現したいこと
iPhoneアプリ開発初心者です。
複数のUIImageを1つのvi:UIViewに貼り付けてスクロールViewに
入れて表示させています。今回やりたいことは、メニューの ”pdfファイルで保存”を選択するとこのviビューの全体をPDFファイルで
/Documentに保存したいのですが方法が全くわかりません。
あちこち参考にして下記のプログラムを作成、試してみましたが
うまく保存されません。何かご意見をいただけたらありがたいです。
よろしくお願いします。

エラーメッセージ
<Error>: replacing +/-infinity with -2147483648.

###該当のソースコード
Swift3
ここにご自身が実行したソースコードを書いてください

// — UIViewController — : : //UIViewの内容をDocumentディレクトリにPDFファイルで出力する func pdfMake(vi: UIView, path: String) { UIGraphicsBeginPDFContextToFile(path, CGRect.zero, nil) //renderView(view) if let context = UIGraphicsGetCurrentContext() { UIGraphicsBeginPDFPageWithInfo(vi.frame, nil) vi.layer.render(in: context) } UIGraphicsEndPDFContext() } //リストメニュー ”pdfファイルで保存する” から呼び出す関数 func pdfWrite(){ print("pdfを作ります!") let dst = NSHomeDirectory() + "/Documents" + “/test.pdf" let v1 = UIView(frame: CGRect(x:0,y:0,width:100,height:500)) v1.backgroundColor = UIColor.red self.pdfMake(vi:v1, path: dst) }

###試したこと
課題に対してアプローチしたことを記載してください
上記のテストプログラム(赤色の100☓500のUIView)
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
Xcode:8.2.1
OSX:10.11.6

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

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

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

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

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

fuzzball

2017/01/17 04:35

コードは ``` で囲って下さい。
guest

回答1

0

swift

1let dst = NSHomeDirectory() + "/Documents" +/test.pdf"

三番目のダブルクォーテーションがおかしいです。

投稿2017/01/17 04:48

fuzzball

総合スコア16731

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

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

bukubuku

2017/01/17 09:03

早速のお返事ありがとうございました。 実際のプログラムを確認したところ、正しく”/***.pdf"でした、本質問にコピーした際にファイル名をtest.pdfに変更したのですがその時に全角文字に上書きしてしまったものと思われます。 従って、動作エラーの原因は別かと思いますが不明です、うっかりミスでご迷惑をおかけしますがよろしくお願いします。
fuzzball

2017/01/17 09:16 編集

私の環境では、ダブルクォーテーションの修正だけで正しく動作しました。 質問に書いていないコードでエラーが出ているのではないでしょうか?
bukubuku

2017/01/17 14:06

そうですか、動作しますか。先程私も投稿したコードだけで再確認しましたが結果は同じエラーがでました。 エラーの場所は、pdfMake(vi: UIView, path: String)関数内の vi.layer.render(in: context)でおきているようです。(print文で確認しました) この先を何か確かめる方法などあればご教授ください。よろしくお願いします。
isson

2017/08/23 13:51

bukubukuさま この件は解決されましたでしょうか?? 解決されたなら結果を知りたいのですが・・・ swiftの勉強を始めたばかりで申し訳けございませんが宜しくお願い致します
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問