TABS Upload 5

> 탭스 업로드

주요 기능 III

Google OTP 지원

별도의 OTP 생성기가 필요없습니다. 안드로이드 폰 또는 아이폰에서 사용할 수 있는 Google OTP 앱을 사용해 OTP 번호를 생성해 2차 인증에 사용할 수 있습니다.

계정과 암호 입력으로 진행되는 웹 사이트 로그인에 OTP 번호를 추가로 입력 받아 보안성을 매우 높일 수 있습니다. Google OTP 앱에 OTP 계정을 쉽게 등록할 수 있도록 QR 코드 생성 기능을 제공합니다.

OTP 생성 프로그래밍

Google OTP 앱은 바코드 스캔 기능을 제공해 편리하게 OTP 계정을 생성할 수 있습니다. 아래 코드는 보안키를 생성하고 해당 보안키 기반으로 OTP 계정을 생성하는 예제입니다.

Set otp = Server.CreateObject("TABS.GoogleOTP")

issuer = "탭스랩"
account = "guest"
otp.MakeSecretKey
secretKey = otp.SecretKey
authUri = otp.GetTOTPAuthURI(issuer, account)
Session("AUTHURI") = authUri

Respoonse.Write "QR 코드 이미지: <img src='qrimage.asp' />"

QR 코드 생성 프로그래밍

Google OTP 앱에서 인식 가능한 QR 코드 이미지를 생성할 수 있습니다. 아래는 생성된 이미지 데이터를 HTTP를 사용해 전송하는 예제입니다.

Set otp = Server.CreateObject("TABS.GoogleOTP")
imageData = otp.GetQRCodeImage(Session("AUTHURI"), 4, "#000000", "#ffffff")

Response.ContentType = "image/png"
Response.BinaryWrite imageData

JPEG 최적화 인코딩

JPEG 옵티마이저는 JPEG 이미지 파일들의 화질(품질값)과 픽셀 수는 그대로 유지를 하면서 용량만을 줄입니다. JPEG의 표준 DCT 양자화를 개선한 Trellis 양자화 알고리즘을 사용해 동일 품질 값에서 5~30% 정도로 파일 크기를 줄일 수 있습니다.

JPEG Optimizer

JPEG Optimizer

서버에 저장되어 있는 다량의 JPEG 이미지를 일괄 방식으로 최적화할 수 있는 프로그램을 제공합니다.

기존 JPEG 이미지의 품질 값을 계산한 후 동일 품질을 가지면서 파일 크기를 줄이는 기능을 제공합니다.

시스템의 CPU 자원을 최대로 활용해 다수의 파일에 대해 빠른 속도로 최적화 작업을 진행할 수 있습니다.


컴포넌트

JPEG 이미지 인코딩 기능을 ASP/ASP.NET 환경에서 사용할 수 있도록 COM 오브젝트를 제공합니다. 간단한 프로그래밍으로 기존 JPEG 이미지를 최적화할 수 있습니다.

Dim infile, outfile, jpgEncoder, retval

Set jpgEncoder = Server.CreateObject("TABS.OptzJpeg.Encoder")

infile = "source,jpg"
outfile = "new.jpg"

retval = jpgEncoder.ConvertJpegForWeb(infile, outfile, -1, true)
                

또한 탭스 업로드 이미지 처리 오브젝트와 연동해 이미지 프로세싱 후 JPEG 저장시 최적화 인코딩 방식으로 저장할 수 있습니다.

PDF 생성

PdfDocument 오브젝트와 PDF Builder 서버를 사용하면 웹 프로그래밍 환경에서 쉽게 PDF 문서를 생성할 수 있습니다. HTML로 작성된 문서를 PDF Builder 서버로 전달하면 서버는 PDF 문서를 생성해 웹서버로 반환합니다. 또한 직접적인 HTML 문서 파일 대신 HTTP URL이 표시하는 웹 페이지를 바로 PDF 문서로 변환할 수 있습니다.

PDF 문서에 표지, 목차, 책갈피 등을 삽입할 수 있으며 머리글과 바닥글을 지정해 삽입할 수 있습니다.

PDF 생성 프로그래밍

PDF 문서를 정의하고 생성하는 TABS.PdfDocument 오브젝트를 제공합니다. 아래 코드와 같이 HTML 문서를 입력으로 제공하면 간단하게 PDF 문서를 생성할 수 있습니다.

Set pdfDoc = Server.CreateObject("TABS.PdfDocument")
pdfDoc.CoverHtml = pdfDoc.LoadTextFromFile("C:\Template\cover.htm")
pdfDoc.BodyHtml = pdfDoc.LoadTextFromFile("C:\Template\content.htm")
pdfDoc.PageSize = "A4"

If pdfDoc.Connect(19975, 30) Then
    retCode = pdfDoc.Write("C:\result\output.pdf")
    If retCode = 0 Then
        Response.Write "PDF 문서가 성공적으로 생성되었습니다."
    Else
        Response.Write "PDF 문서를 생성하는데 실패하였습니다. 오류 코드: " & retCode
    End If
    pdfDoc.Close
Else
    Response.Write "PDF 서버로 연결할 수 없습니다."
End If
                

비밀번호로 보호된 PDF 생성

PDF 문서를 암호화하기 위해 128/256비트 키를 갖는 AES(Advanced Encryption Standard) 알고리즘을 지원합니다. 소유자 비밀번호와 사용자 비밀번호를 사용해 PDF 문서의 사용 권한을 제어할 수 있습니다.

비밀번호로 보호된 PDF 생성 프로그래밍

PDF 문서 암호화를 정의하기 위한 PdfDocEncryptor 오브젝트를 제공합니다. 아래 코드와 같이 비밀번호를 입력하면 암호화된 PDF 문서를 생성할 수 있습니다.

Set pdfDoc = Server.CreateObject("TABS.PdfDocument")
pdfDoc.CoverHtml = pdfDoc.LoadTextFromFile("C:\Template\cover.htm")
pdfDoc.BodyHtml = pdfDoc.LoadTextFromFile("C:\Template\content.htm")

'암호화 방식과 키 길이 설정
pdfDoc.Encryptor.Key = "128 AES"
'문서 비밀번호 지정
pdfDoc.Encryptor.OwnerPassword = "qwer1234"
pdfDoc.Encryptor.UserPassword = "asdf1234"
'문서 사용 권한 제한
pdfDoc.Encryptor.Modify = False
pdfDoc.Encryptor.Extract = False
pdfDoc.Encryptor.Print = False

If pdfDoc.Connect(19975, 30) Then
    retCode = pdfDoc.Write("C:\result\output.pdf")
    If retCode = 0 Then
        Response.Write "PDF 문서가 성공적으로 생성되었습니다."
    Else
        Response.Write "PDF 문서를 생성하는데 실패하였습니다. 오류 코드: " & retCode
    End If
    pdfDoc.Close
Else
    Response.Write "PDF 서버로 연결할 수 없습니다."
End If