Chủ Nhật, 11 tháng 9, 2011

Dùng Dropbox in tài liệu từ xa


Như đã biết, Dropbox là một kho lưu trữ đồ sộ với 2GB dung lượng lưu trữ trực tuyến hoàn toàn miễn phí cho người dùng với nhiều tính năng sáng giá.
Và một trong những tính năng sáng giá nhất của Dropbox đó chính là khả năng biến thành một máy in ảo, cho phép in bất kỳ dữ liệu từ iPhone, máy tính để bàn hay netbook/laptop một cách dễ dàng mọi lúc mọi nơi.
Tính năng này được kích hoạt nhờ mã VBS script cho phép người dùng tiến hành đồng bộ hóa các file giữa máy tính của riêng mình với Dropbox hoặc chia sẻ cho người khác từ ở rất xa, thậm chí ở nửa bên kia của trái đất cũng có thể in ấn rất nhanh chóng
Cài đặt chế độ tự động in từ Dropbox
Nếu bạn chưa cài đặt Dropbox trên máy tính của mình, có thể tải tập tin cài đặt tại đây, sau đó giải nén và khởi chạy tập tin lệnh ePrint.vbs. Hoặc bạn cũng có thể tự tạo 1 file .vbs sử dụng nội dung sau :
'Remote Printing through Dropbox
'Written by Amit Agarwal http://www.labnol.org/
'v1.0 - For help, write to amit@labnol.org
Option Explicit
'On Error Resume Next
Const WAIT_TIME  = 10000 '10 seconds
Const PRINT_TIME = 30000 '30 seconds
Dim WshShell, fso, configFile, objReadFile, str64, strPath, ApplicationData, strEmail, dbEmailDir
Dim dbWatchDir, attFolder, objShell, objFolder, colItems, objItem, dbLogDir, logFolder, doneFolder
Set WshShell = CreateObject("Wscript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
ApplicationData = WshShell.ExpandEnvironmentStrings("%APPDATA%")
'Find the Dropbox Folder Location
configFile = ApplicationData & "\Dropbox\host.db"
If fso.FileExists( configFile ) Then
Set objReadFile = fso.OpenTextFile( configFile, 1)
Do Until objReadFile.AtEndOfStream
  str64 = objReadFile.ReadLine
Loop
strPath = Base64Decode(str64)
'WScript.Echo "Your Dropbox folder is located at " & strPath
Else
WScript.Echo "Looks like Dropbox is not installed on this computer." &  VbCrLf & "Please install Dropbox and run this script again."
WScript.Quit()
End If
dbWatchDir = strPath & "\PrintQueue"
dbEmailDir = strPath & "\From Habilis"
If Not fso.FolderExists (dbWatchDir) Then
Set attFolder = fso.CreateFolder (dbWatchDir)
'WScript.Echo "Created a folder to hold your new print jobs - " & dbWatchDir
End If
dbLogDir = dbWatchDir & "\log"
If Not fso.FolderExists (dbLogDir) Then
Set logFolder = fso.CreateFolder (dbLogDir)
'WScript.Echo "Created a folder to hold processed jobs - " & dbLogDir
End If
Do While True
Set objShell = CreateObject("Shell.Application")
doneFolder = dbLogDir & "\" & DateDiff("s", "1/1/2010", Now)
If fso.FolderExists (dbEmailDir) Then
Set objFolder = objShell.Namespace(dbEmailDir)
Set colItems = objFolder.Items
For Each objItem in colItems
If Not objItem.IsFolder Then 
  If Not fso.FolderExists (doneFolder) Then
   Set logFolder = fso.CreateFolder (doneFolder)
   'WScript.Echo "Created a folder to save processed jobs - " & doneFolder
  End If
  objItem.InvokeVerbEx("Print")
  'WScript.Echo "Now printing: " & objItem.Name 
  WScript.Sleep(PRINT_TIME)
  fso.MoveFile dbEmailDir & "\" & objItem.Name & ".*", doneFolder
End If
Next
End if
Set objFolder = objShell.Namespace(dbWatchDir)
Set colItems = objFolder.Items
For Each objItem in colItems
If Not objItem.IsFolder Then 
  If Not fso.FolderExists (doneFolder) Then
   Set logFolder = fso.CreateFolder (doneFolder)
   'WScript.Echo "Created a folder to save processed jobs - " & doneFolder
  End If
  objItem.InvokeVerbEx("Print")
  'WScript.Echo "Now printing: " & objItem.Name 
  WScript.Sleep(PRINT_TIME)
  fso.MoveFile dbWatchDir & "\" & objItem.Name & ".*", doneFolder
End If
Next
WScript.Sleep(WAIT_TIME)
Set objShell = nothing
Set objFolder = nothing
Set colItems = nothing
Loop
' 1999 - 2004 Antonin Foller, http://www.motobit.com
Function Base64Decode(ByVal base64String)
  Const Base64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
  Dim dataLength, sOut, groupBegin
  base64String = Replace(base64String, vbCrLf, "")
  base64String = Replace(base64String, vbTab, "")
  base64String = Replace(base64String, " ", "")
  dataLength = Len(base64String)
  If dataLength Mod 4 <> 0 Then
    Err.Raise 1, "Base64Decode", "Bad Base64 string."
    Exit Function
  End If
  For groupBegin = 1 To dataLength Step 4
    Dim numDataBytes, CharCounter, thisChar, thisData, nGroup, pOut
    numDataBytes = 3
    nGroup = 0
    For CharCounter = 0 To 3
      thisChar = Mid(base64String, groupBegin + CharCounter, 1)
      If thisChar = "=" Then
        numDataBytes = numDataBytes - 1
        thisData = 0
      Else
        thisData = InStr(1, Base64, thisChar, vbBinaryCompare) - 1
      End If
      If thisData = -1 Then
        Err.Raise 2, "Base64Decode", "Bad character In Base64 string."
        Exit Function
      End If
      nGroup = 64 * nGroup + thisData
    Next
    nGroup = Hex(nGroup)
    nGroup = String(6 - Len(nGroup), "0") & nGroup
    pOut = Chr(CByte("&H" & Mid(nGroup, 1, 2))) + _
      Chr(CByte("&H" & Mid(nGroup, 3, 2))) + _
      Chr(CByte("&H" & Mid(nGroup, 5, 2)))
    sOut = sOut & Left(pOut, numDataBytes)
  Next
  Base64Decode = sOut
End Function
'Please visit www.labnol.org to download the latest version of this code
Lúc này, click đôi vào tập lệnh eprint.vbs để chạy nó, bạn sẽ nhận được một thư mục có tên PrintQueue trong thư mục Dropbox của mình đã tải về.
Dùng Dropbox in tài liệu từ xa
Bây giờ, khi muốn in một cái gì đó bằng cách sử dụng máy in mặc định của mình và cài đặt khả năng in mặc định, bạn chỉ cần sao chép và dán các file vào thư mục PrintQueue nói trên (hỗ trợ cho phép in nhiều tài liệu cùng một lúc).
Lúc này, chương trình sẽ tự động mở tập tin bằng chương trình mặc định và các tập tin của mình khi in, ứng dụng sẽ chuyển dữ liệu từ PrintQueue vào thư mục đăng nhập con. Bằng cách này, nếu vô tình di chuyển một file vào thư mục, bạn vẫn còn có thể lấy nó ra.
Thư mục PrintQueue này sẽ hiển thị trên bất kỳ thiết bị di động máy tính khi chủ tài khoản tiến hành đồng bộ hóa với Dropbox, nhưng sẽ chỉ in từ các máy tính chạy các script vbs mà thôi. Vì vậy, nếu muốn tập tin này xuất hiện mỗi khi vào Windows thì rất đơn giản, chỉ cần chép file ePrint.vbs vào thư mục Startup, và sau đó nó sẽ luôn sẵn sàng để in các tập tin của bạn bất cứ khi nào máy tính của mình đang chạy.
Chép file ePrint.vbs vào thư mục Startup
In trực tiếp từ một máy tính
Khi muốn in tài liệu từ máy tính của mình, bạn sẽ rất dễ dàng tiến hành thực hiện gửi thông tin in đến Dropbox khi có kết nối Internet. Bạn chỉ cần nhớ kỹ một điều là “Không bao giờ lưu tập tin chính của mình vào trong thư mục PrintQueue”, nghĩa là khi hoàn tất một tài liệu nào đó, hãy lưu nó vào thư mục lưu trữ của mình, sau đó nhấp Save as và chỉ đường dẫn đến thư mục PrintQueue, nó sẽ tự động in cho bạn mà không có vấn đề gì cả.
In trực tiếp từ một máy tính
In ấn từ thiết bị di động
Một khi đã cài đặt máy in trên máy tính của chính bạn, sẽ thật dễ dàng để in các tập tin từ bất kỳ thiết bị di động nào đó. Tiếp tục bạn truy cập vào địa chỉhttps://www.dropbox.com/anywhere và chọn thiết bị di động muốn sử dụng để làm nguồn in.
Khi muốn in, bạn chỉ cần tạo hoặc dán bất kỳ văn bản cần phải in ấn và lưu vào thư mục đó, bạn sẽ thấy bản sao văn bản trên máy in sẵn sàng đáp ứng yêu cầu của mình trong vài giây sau đó. Cũng có nhiều ứng dụng cho phép điện thoại có thể trực tiếp truy cập thư mục Dropbox trên Internet để bạn có thể sao chép các tập tin hiện tại vào thư mục PrintQueue của Dropbox sẵn sàng cho việc in ấn.
Một cách khác, bạn có thể gửi email đính kèm file muốn in vào trong thư mục Dropbox của mình, sau đó di chuyển chúng vào trong thư mục in. Đây không phải là giải pháp hoàn hảo, nhưng nếu ứng dụng của bạn không thích hợp với Dropbox, nó là phương pháp duy nhất. Và trang webhttp://www.gethabilis.com/ sẽ giúp bạn thực hiện điều này dễ dàng.
Sau khi truy cập vào trang web, bạn nhấp vào nút Connect to Dropbox để tiến hành thiết lập các dịch vụ email. Tại đây bạn khai báo thông tin đăng nhập của Dropbox và nhấp vào nút Allow để chấp nhận. Vài giây sau bạn sẽ thấy thông báo từ Habilis có liên quan đến tài khoản trên Dropbox của mình.
In ấn từ thiết bị di động
Bây giờ, quay trở lại trang web của Habilis, bạn sẽ nhận được một email với địa chỉ mà Habilis cung cấp. Bất cứ các tập tin nào bạn gửi đến địa chỉ email này sẽ được thêm vào thư mục trong Dropbox, sau đó người dùng có thể di chuyển nó vào thư mục in từ một ứng dụng, trình duyệt hay một máy tính để sẵn sàng cho việc in ấn.
Nhìn chung, với máy in Dropbox ảo này, người dùng có thể dễ dàng kiểm tra văn bản in ấn của mình trước khi thực hiện in một tài liệu nào đó, điều này thật sự là cần thiết bởi lẽ khi đã in tài liệu nào mà không ưng ý, ắt hẳn bạn sẽ cảm thấy rất tốn kém.
XHTT ( Theo Labnol )

Không có nhận xét nào:

Đăng nhận xét