質問編集履歴

6

間違いを修正

2019/01/17 03:36

投稿

mimamo
mimamo

スコア44

test CHANGED
File without changes
test CHANGED
@@ -290,6 +290,14 @@
290
290
 
291
291
 
292
292
 
293
+
294
+
295
+ ```
296
+
297
+
298
+
299
+
300
+
293
301
  ### clip to Bounds
294
302
 
295
303
 
@@ -300,8 +308,6 @@
300
308
 
301
309
 
302
310
 
303
- ```
304
-
305
311
  ### 補足情報(FW/ツールのバージョンなど)
306
312
 
307
313
  Swiftのversionは4.1.2

5

画像の追加

2019/01/17 03:36

投稿

mimamo
mimamo

スコア44

test CHANGED
File without changes
test CHANGED
@@ -288,6 +288,18 @@
288
288
 
289
289
  }
290
290
 
291
+
292
+
293
+ ### clip to Bounds
294
+
295
+
296
+
297
+ ![イメージ説明](d60e6610b1512acefdf654e2e68bd408.png)
298
+
299
+
300
+
301
+
302
+
291
303
  ```
292
304
 
293
305
  ### 補足情報(FW/ツールのバージョンなど)

4

コードの追加

2019/01/17 03:35

投稿

mimamo
mimamo

スコア44

test CHANGED
File without changes
test CHANGED
@@ -228,6 +228,68 @@
228
228
 
229
229
 
230
230
 
231
+ PDFとしてローカル保存した際のコード
232
+
233
+ ```Swift
234
+
235
+ @IBAction func push(_ sender: Any) {
236
+
237
+ print("push")
238
+
239
+
240
+
241
+
242
+
243
+ let x = getimage.frame.origin.x
244
+
245
+ let y = getimage.frame.origin.y
246
+
247
+ //UIImageView(getimage)のサイズ取得
248
+
249
+ let imageWidth = self.getimage.frame.width
250
+
251
+ let imageHeight = self.getimage.frame.height
252
+
253
+
254
+
255
+
256
+
257
+ let pdfData = NSMutableData()
258
+
259
+ // ↓ -yとすることでNavigationbarとステータスバーの下からPDFを保存することができました
260
+
261
+ UIGraphicsBeginPDFContextToData(pdfData, CGRect(x: x, y: -y, width: imageWidth, height: imageHeight), nil)
262
+
263
+ UIGraphicsBeginPDFPage()
264
+
265
+
266
+
267
+ guard let pdfContext = UIGraphicsGetCurrentContext() else { return }
268
+
269
+ self.view.layer.render(in: pdfContext)
270
+
271
+ UIGraphicsEndPDFContext()
272
+
273
+
274
+
275
+ if let documentDirectories = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first {
276
+
277
+ let documentsFileName = documentDirectories + "/test.pdf"
278
+
279
+ UserDefaults.standard.set(documentsFileName, forKey:"filePath")
280
+
281
+ debugPrint(documentsFileName)
282
+
283
+ pdfData.write(toFile: documentsFileName, atomically: true)
284
+
285
+ }
286
+
287
+
288
+
289
+ }
290
+
291
+ ```
292
+
231
293
  ### 補足情報(FW/ツールのバージョンなど)
232
294
 
233
295
  Swiftのversionは4.1.2

3

画像の添付

2019/01/16 02:32

投稿

mimamo
mimamo

スコア44

test CHANGED
File without changes
test CHANGED
@@ -208,6 +208,24 @@
208
208
 
209
209
 
210
210
 
211
+ ###アドバイスを受けて
212
+
213
+
214
+
215
+ 該当のファイルを表示させることができるようになりました。
216
+
217
+
218
+
219
+ ですが不具合が起きています。
220
+
221
+ 保存したPDFを確認すると上に余白はほとんどない状態なのですが、UIImageView(aspect fit)で表示すると下のように表示されてしまいます。
222
+
223
+
224
+
225
+ ![ローカルPDF保存したPDFを表示](23f14e49d69c82b60bda82f18e8c115a.png)
226
+
227
+ ![](d0b05062caed520d436f9c7eade069c2.png)
228
+
211
229
 
212
230
 
213
231
  ### 補足情報(FW/ツールのバージョンなど)

2

エラーの追加

2019/01/16 02:01

投稿

mimamo
mimamo

スコア44

test CHANGED
File without changes
test CHANGED
@@ -196,6 +196,18 @@
196
196
 
197
197
 
198
198
 
199
+ ##エラー
200
+
201
+ ```swift
202
+
203
+ drawPDFfromURL(url: binpath)
204
+
205
+ ```
206
+
207
+ Cannot convert value of type 'String' to expected argument type 'URL'
208
+
209
+
210
+
199
211
 
200
212
 
201
213
  ### 補足情報(FW/ツールのバージョンなど)

1

コードの変更

2019/01/15 14:18

投稿

mimamo
mimamo

スコア44

test CHANGED
File without changes
test CHANGED
@@ -32,7 +32,7 @@
32
32
 
33
33
 
34
34
 
35
- ローカル保存
35
+ ローカル保存するVC
36
36
 
37
37
 
38
38
 
@@ -82,6 +82,120 @@
82
82
 
83
83
 
84
84
 
85
+ PDFとPDFを合成したいVC
86
+
87
+ ```Swift
88
+
89
+
90
+
91
+ import UIKit
92
+
93
+ import PDFKit
94
+
95
+
96
+
97
+ class PhotoT: UIViewController {
98
+
99
+
100
+
101
+ ///A4+A4
102
+
103
+
104
+
105
+
106
+
107
+ @IBOutlet weak var left: UIImageView!
108
+
109
+ @IBOutlet weak var right: UIImageView!
110
+
111
+
112
+
113
+ override func viewDidLoad() {
114
+
115
+ super.viewDidLoad()
116
+
117
+
118
+
119
+
120
+
121
+ // プロジェクトにあらかじめ取り込んでおいたPDFの読み込み (右側に配置したいPDF)
122
+
123
+ let binsenhoge = UserDefaults.standard.integer(forKey: "selectedTag")
124
+
125
+ let binsenpath: String = Bundle.main.path(forResource: "huto(binsenhoge)", ofType: "pdf")!
126
+
127
+ print("くっつけるのは")
128
+
129
+ print(binsenpath)
130
+
131
+
132
+
133
+
134
+
135
+ drawPDFfromURL(url: binsenpath)
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+ }
144
+
145
+
146
+
147
+
148
+
149
+ func drawPDFfromURL(url: URL) -> UIImage? {
150
+
151
+
152
+
153
+
154
+
155
+ guard let document = CGPDFDocument(url as CFURL) else { return nil }
156
+
157
+ guard let page = document.page(at: 1) else { return nil }
158
+
159
+
160
+
161
+ let pageRect = page.getBoxRect(.mediaBox)
162
+
163
+ let renderer = UIGraphicsImageRenderer(size: pageRect.size)
164
+
165
+ let img = renderer.image { ctx in
166
+
167
+ UIColor.white.set()
168
+
169
+ ctx.fill(pageRect)
170
+
171
+
172
+
173
+ ctx.cgContext.translateBy(x: 0.0, y: pageRect.size.height)
174
+
175
+ ctx.cgContext.scaleBy(x: 1.0, y: -1.0)
176
+
177
+
178
+
179
+ ctx.cgContext.drawPDFPage(page)
180
+
181
+ }
182
+
183
+
184
+
185
+ return img
186
+
187
+ }
188
+
189
+
190
+
191
+
192
+
193
+ ```
194
+
195
+
196
+
197
+
198
+
85
199
 
86
200
 
87
201
  ### 補足情報(FW/ツールのバージョンなど)