# PDFView

## PDFView

클라이언트에서 사용되는 Widget PDFView 객체.

### **이벤트**

\


| **OnUploadRequested** |
| --------------------- |

pdf가 file upload 시 event입니다.\
연결함수 형식은 function() 입니다.

\-- 샘플 --

```lua
local function UploadRequested()
    print("UploadRequested ")
end
PDF.OnUploadRequested:Connect(UploadRequested)
```

\


| **OnUploadFailed** |
| ------------------ |

pdf file upload 실패 시 event입니다.\
연결함수 형식은 function() 입니다.

\


| **OnLoadCompleted** |
| ------------------- |

pdf file Load 완료 시 event입니다.\
연결함수 형식은 function() 입니다.

\


| **OnRenderCompleted** |
| --------------------- |

pdf file Render 완료 시 event입니다.\
연결함수 형식은 function() 입니다.

\


| **OnRenderFailed** |
| ------------------ |

pdf file Render 실패 시 event입니다.\
연결함수 형식은 function() 입니다.

\


| **OnUploadProgress** |
| -------------------- |

pdf file Upload 진행 시 event입니다.\
연결함수 형식은 function(progress), progress 는 0 \~ 1 사이의 진행정도값 입니다.

\-- 샘플 --

```lua
local function UploadProgress(float progress)
    print("Upload Progress " .. progress)
end
PDF.OnUploadProgress:Connect(UploadProgress)
```

\


| **OnDownloadProgress** |
| ---------------------- |

pdf file download 진행 시 event입니다.\
연결함수 형식은 function(progress), progress 는 0 \~ 1 사이의 진행정도값 입니다.

\-- 샘플 --

```lua
local function DownloadProgress(float progress)
    print("Download Progress " .. progress)
end
PDF.OnDownloadProgress:Connect(DownloadProgress)
```

\


| **OnErrorMessage** |
| ------------------ |

error event입니다.\
연결함수 형식은 function(error Index), error Index는 error 종류 입니다.\
반환값 0 (알수 없는 에러), 1(파일 포멧이 다름), 2(사용 불가 이름), 3(같은 파일 이름)

### **속성**

\


| **CurrentPage** |
| --------------- |

현재 페이지를 얻을 수 있어요. (범위는 0 \~ 페이지 개수 -1)

### **함수**

\


| **void OpenFileDialog()** |
| ------------------------- |

파일을 선택할 수 있게 다이얼로그 창으로 연결해요.

\


| **bool IsOpenedDialog()** |
| ------------------------- |

다이얼로그 창이 열려 있는지 알 수 있어요.

\


| **void CancelUpload()** |
| ----------------------- |

현재 Upload를 취소해요.

\


| **void Close()** |
| ---------------- |

현재 PDF를 닫아요.

\


| **bool IsReady()** |
| ------------------ |

PDF가 열렸는지 알 수 있어요.

\


| **string GetFileName()** |
| ------------------------ |

현재 파일 이름을 얻을 수 있어요.

\


| **string GetWebURL()** |
| ---------------------- |

현재 pdf url을 얻을 수 있어요.

\


| **void GetWebURL()** |
| -------------------- |

pdf url을 적용 할 수 있어요.

\


| **string GetPageCount()** |
| ------------------------- |

페이지 개수를 얻을 수 있어요.

\


| **number GetPageWidth()** |
| ------------------------- |

한 페이지의 폭을 얻을 수 있어요.

\


| **number GetPageHeight()** |
| -------------------------- |

한 페이지의 높이를 얻을 수 있어요.

\
\


## **사용 가능한 부모 오브젝트 기능들**

### **속성**

| **이름**                                                                                         | **설명**                                   |
| ---------------------------------------------------------------------------------------------- | ---------------------------------------- |
| [**Location**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)    | **위젯의 위치를 변경할 수 있어요. (X좌표 값, Y좌표 값, 0)** |
| [**Rotation**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)    | **위젯의 회전을 설정할 수 있어요. (설정할 값)**           |
| [**Scale**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)       | **위젯의 스케일을 설정할 수 있어요. (설정할 값)**          |
| [**Size**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)        | **위젯의 크기를 설정할 수 있어요. (가로값, 세로값, 0)**     |
| [**ZOrder**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)      | **위젯의 그리는 순서를 설정할 수 있어요.**               |
| [**Visible**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)     | **UI 위젯의 표시 여부를 설정할 수 있어요. (위젯 표시 여부)**  |
| [**Interaction**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase) | **UI 위젯의 반응 여부를 설정할 수 있어요. (위젯 반응 여부)**  |
| [**Opacity**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)     | **위젯의 투명 값을 설정할 수 있어요. (설정할 값)**         |
| [**AnchorType**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)  | **위젯의 고정 여부를 설정할 수 있어요. (설정할 타입)**       |
| [**IsFill**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)      | **위젯의 채우기를 설정할 수 있어요.**                  |

### **이벤트**

| **이름**                                                                                               | **설명**                                                                                                                                                                                   |
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [**OnVisibleEvent**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)    | <p><strong>widget이 보여질 때 호출되는 이벤트에요.</strong><br><strong>연결함수 형식은 function(widget), widget 은 보여지는 widget 객체 입니다.</strong></p>                                                            |
| [**OnInVisibleEvent**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)  | <p><strong>widget이 안 보여질 때 호출되는 이벤트에요.</strong><br><strong>연결함수 형식은 function(widget), widget 은 안 보여지는 widget 객체 입니다.</strong></p>                                                        |
| [**OnBeginDragEvent**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)  | <p><strong>widget의 드래그가 시작 될 때 호출되는 이벤트에요.</strong><br><strong>연결함수 형식은 function(widget, vector2D), widget은 클릭한 객체, vector2D는 마우스 위치에요.</strong></p>                                     |
| [**OnCancelDragEvent**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase) | <p><strong>widget의 드래그가 취소될 때 호출되는 이벤트에요.</strong><br><strong>연결함수 형식은 function(widget, vector2D), widget은 클릭한 객체, vector2D는 마우스 위치에요.</strong></p>                                      |
| [**OnEndDragEvent**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)    | <p><strong>widget의 드래그가 드랍될 때 호출되는 이벤트에요.</strong><br><strong>연결함수 형식은 function(widget, vector2D, dragwidget), widget은 드랍한 객체, vector2D는 마우스 위치, dragwidget는 드래그한 widget에요.</strong></p> |

### **함수**

| **이름**                                                                                             | **설명**                                        |
| -------------------------------------------------------------------------------------------------- | --------------------------------------------- |
| [**AddChildUIScene**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase) | **(deprecate) AddChildUIWidget 함수로 이용하세요.**   |
| [**AddChildWidget**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)  | **자식 UI 위젯을 추가할 수 있어요. (자식으로 추가할 UI 위젯)**     |
| [**SetParentWidget**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase) | **부모 UI 위젯을 설정할 수 있어요. (부모로 설정할 UI 위젯)**      |
| [**Delete**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)          | **위젯을 제거할 수 있어요.**                            |
| [**GetTypeString**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)   | **위젯의 타입을 문자열로 얻을 수 있어요.**                    |
| [**GetType**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)         | **위젯의 타입을 Enum 형식으로 얻을 수 있어요.**               |
| [**SetDragWidget**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)   | **위젯의 DragEvent 발생 시 복사되어 보여질 widget을 세팅해요.** |
| [**SetDragOffset**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)   | **위젯의 DragWidget에 적용될 Offset 이에요.**           |
