Pages

Subscribe:

Ads 468x60px

2016年4月30日 星期六

CaryHsu - 學無止盡: Crystal Reports與ASP.NET網路送印問題處理與分享

CaryHsu - 學無止盡: Crystal Reports與ASP.NET網路送印問題處理與分享:         最近接到一個需求,當使用者希望將原本的報表(Crystal Reports)直接送印到報表主機上的某一台印表機時,該如何進行,基本上程式不困難,但因為這個問題主要由是作業系統造成( Q152451 、 Q184291 ),所以需進行相關的修正後,程式的寫法也需要調...

CaryHsu - 學無止盡: Crystal Report與Reporting Service圖表種類比較

CaryHsu - 學無止盡: Crystal Report與Reporting Service圖表種類比較:         最近接到公司工作上的分派,需要比較 Reporting Service 3.0 與 Crystal Report XII 兩套產品的差異性,由於目前市場上 Crystal Report 的佔有率比較高,但是我個人比較偏愛 Reporting Service 也使用...

C# Crystal Reports Tutorial

這是國外的教學資源
內容相當不錯

資料來源

Crystal Report is a Reporting Application that can generate reports from various Data Sources like Databases , XML files etc.. The Visual Studio.NET Integrated Development Environment comes with Crystal Reports tools. The Crystal Reports makes it easy to create simple reports, and also has comprehensive tools that you need to produce complex or specialized reports in csharp and other programming languages.
Crystal Reports is compatible with most popular development environments like C# , VB.NET etc. You can use the Crystal Reports Designer in Visual Studio .NET to create a new report or modify an existing report.
From the following sections you can find useful resources for generating customized reports from Crystal Reports with C# .

Windows AD 常用群組原則(組策略)

資料來源

摘要:整理的常用群組原則
這是我大學時,半工半讀,在做SI幫客戶設計的一份群組原則~

一、利用群組原則設定WSUS更新來源
[電腦設定] > [系統管理範本] > [Windows 元件] > [Windows Update]。
設定近端,並輸入WSUS 的IP
二、利用群組原則設定IE
(1).Active X啟動 (記得閉閉Server 2008的IE ESC)
群組原則 > 使用者設定 > windows設定 > Internet Explorer維護 > 安全性
以下三個種類型的網路都要設定(網際網路、近端網路、信認網路)
  1. 關閉快顯封鎖
  2. Active X 自動執行
  3. 允許Flash 播放器 和 Java script

(2).固定首頁
1.群組原則 > 使用者設定 > windows設定 > Internet Explorer維護 > 安全性 > 重要URL: http://www.ABC.gov.tw/對應> 192.168.29.2

2.DNS要設定解析,不然找不到主機。

(3).匯入我的最愛
群組原則 > 使用者設定 > windows設定 > Internet Explorer維護 > URL> 我的最愛與連結

三、利用群組原則複製桌面捷徑
(1)請解開桌面捷徑包.rar 放置fileserver 並分享
(2). 群組原則 >使用者設定>Windows 設定> 指令碼> 登入>新增兩個個批次檔
Copylink_XP.bat
@echo off
copy /y "\\win2008ad1\desktop_templates\INFINITT G3 PACS.lnk" "%USERPROFILE%"\桌面"

copy /y "\\win2008ad1\desktop_templates\UltraVNC Viewer.lnk" "%USERPROFILE%"\桌面"


Copylink_Win 7.bat
@echo off

copy /y "\\win2008ad1\desktop_templates\UltraVNC Viewer.lnk" "%USERPROFILE%"\desktop"

copy /y "\\win2008ad1\desktop_templates\欲佈署至使用者桌面的程式.lnk" "%USERPROFILE%"\desktop"
(3).在DC 上,開啟群組原則,找到WMI篩選器。
(4).右鍵點選「新增」,在名稱裏輸入您指定的名稱(例如Windows 7 /Vista),再點選「新增」。
(5).在下方的查詢裏,請直接貼入Select * from Win32_OperatingSystem Where (Caption Like "%Microsoft Windows 7%") OR (Caption Like "%Microsoft® Windows Vista%") 文字 ,再按下「確定」,再到步驟2的圖中,按下「儲存」。

(6).重覆步驟2和3,新增一條For Windows XP的規則,其內容為Select * from Win32_OperatingSystem Where (Caption Like "%Microsoft Windows XP%")

(7).在Group policy上,建立二條Policy,分別是針對舊的防火牆和新的防火牆做設定。假設這條Policy要套在Vista和Win7上,請在右下方的 WMI篩選上以下拉選單選到剛剛步驟3產生的條件。同樣的,假設您的policy是要套在XP上,請選到for XP的條件。

(8).如此,即使 OU下同時有不同版本的作業系統,即使這二條policy同時和此 OU產生連結,當Client電腦開機後,會依照WMI篩選器的條件,只套用符合規定的policy來套用。


四、隱藏C糟Orant 資料夾(避免被User刪掉)
(1).在ghost source 裡隱藏c糟orant之資料夾
(2).移除隱藏資料夾
平時我們隱藏資料夾後,別人只需在資料夾選項裡顯示所有文件,就可以看見了,我們可以在群組原則裡移除這個選項:
位置:用戶組態>管理範本>Windows元件>Windows檔案總管從 [工具] 功能表移除 [資料夾選項] 功能表項目
五、關閉Windows 防火牆
GPO內的 系統管理範本 > 網路 > 網路連線 > windows防火牆 > 網域設定檔 > Windows 防火牆:保護所有的網路連線> 停用

GPO內的 系統管理範本 > 網路 > 網路連線 >windows防火牆 > 標準設定檔 > Windows 防火牆:保護所有的網路連線 > 停用

六、開機訊息
GPO內的 電腦設定 > windows設定 > 安全性設定 > 本機原則 > 安全性選項
在右窗格,連按兩下 原則 ,然後根據這些的步驟,建立訊息文字:
a.按一下 [ 互動式登入: 訊息的嘗試登入的使用者標題 ],然後輸入希望出現在郵件 對話方塊的標題列的文字。
b.按一下 [ 互動式登入: 訊息給嘗試登入的使用者的文字 ],然後輸入希望出現在郵件] 對話方塊訊息的文字。
七、關閉開機登入Ctrl+alt +DEL鍵
群組原則 > 電腦設定 > Windows 設定 > 安全性設定 > 本機原則 > 安全性選項
把“互動式登入:不需要按 CTRL+ALT+DEL 鍵”改為啟用即可。

八、密碼原則相關設定
電腦設定 > 原則 > 系統管理範本 > 安全性設定 > 帳戶原則 > 密碼原則 > 最少密碼長度 = ?
電腦設定 > 原則 > 系統管理範本 > 安全性設定 > 帳戶原則 > 密碼原則 > 密碼最長使用期限 = ?
電腦設定 > 原則 > 系統管理範本 > 安全性設定 > 帳戶原則 > 密碼原則 > 密碼最短使用期限 = ?
電腦設定 > 原則 > 系統管理範本 > 安全性設定 > 帳戶原則 > 帳戶鎖定原則 > 重設帳戶間隔 = ? 分
電腦設定 > 原則 > 系統管理範本 > 安全性設定 > 帳戶原則 > 帳戶鎖定原則 > 帳戶鎖定時間 = ?分
電腦設定 > 原則 > 系統管理範本 > 安全性設定 > 帳戶原則 > 帳戶鎖定原則 > 帳戶鎖定閥值 = ? 次

九、開機關機預設網域
僅能對 Win Nt / 2000 / xp / 2003 有效,因為Vista/Win7/2008 後並沒有支援預設網域這個機碼。
電腦設定 > 原則 > Windows 設定 > 指令碼 > 啟動 > 開機
Logon Script
@ECHO OFF
If exist "%Temp%\~import.reg" (
Attrib -R -S -H "%Temp%\~import.reg"
del /F /Q "%Temp%\~import.reg"
If exist "%Temp%\~import.reg" (
Echo Could not delete file "%Temp%\~import.reg"
Pause
)
)
> "%Temp%\~import.reg" ECHO Windows Registry Editor Version 5.00
>> "%Temp%\~import.reg" ECHO.
>> "%Temp%\~import.reg" ECHO [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
>> "%Temp%\~import.reg" ECHO.
>> "%Temp%\~import.reg" ECHO "AltDefaultDomainName"="ABC"
>> "%Temp%\~import.reg" ECHO "DefaultDomainName"="ABC"
>> "%Temp%\~import.reg" ECHO "AutoAdminLogon"="0"
START /WAIT REGEDIT /S "%Temp%\~import.reg"
DEL "%Temp%\~import.reg"
十、禁用外接儲存媒體
在Windows Server 2003 AD下
將下列文字存成一個ADM檔案:
=================================
CLASS MACHINE
CATEGORY !!category
CATEGORY !!categoryname
POLICY !!policynameusb
KEYNAME "SYSTEM\CurrentControlSet\Services\USBSTOR"
EXPLAIN !!explaintextusb
PART !!labeltextusb DROPDOWNLIST REQUIRED
VALUENAME "Start"
ITEMLIST
NAME !!Disabled VALUE NUMERIC 3 DEFAULT
NAME !!Enabled VALUE NUMERIC 4
END ITEMLIST
END

Windosw Server 2008_資料夾重新導向實作 By Keynes

資料來源

實驗環境
 
Windows Server 2008 AD : 網域AD角色,我們會於此電腦上,開立一個共用資料夾供資料夾重新導向存放資料之用
 
Windows XP: 工作站測試角色,我們利用資料夾重新導向GPO原則套用此工作站登入者yadier 做為GPO生效測試
 
實驗目標
 
若我們規劃一台File Server 對網域使用者進行 資料夾重新導向GPO套用(假如:我的文件夾),我們可以即可以建立
 
檔案異地備份,當 網域使用者yadier一登入該主機後,我們可以規範使用者將公司內部重要資產文件儲存於我的文件夾
 
內即可將該文件備份遠端FileServer效果.
 
———-實驗開始————-      
 
 (1.)打開AD使用者電腦工具:我們增加一組織名為solo,便建立一位User名為: yadier
 
      
 
(2.)AD角色(MIKE):我們於AD角色這台主機上 C:data_test 分享共用
               
                   *我們於權限設置新增成員Everyone:共用擁有者*(完全控制之權限)
                    
 
                   *設定共享完成後,其完整共享路徑為: \mikedata_test     (強烈建議隱藏該共用資料夾)
 
      
 
(3.)AD角色(MIKE):接者我們打開"群組原則管理"工具->群組原則物件(新增一筆新原則)
 
     
 
      新增GPO->取名為:資料夾重新導向
 
     
     
 
     接者我們著手編輯"資料夾重新導向"這條GPO
 
    
 
      群組原則編輯器: 我們找到以下路徑
 
                                    電腦設定/使用者設定/Windows 設定/資料夾重新導向 ,我們點選[ 文件 ]以設計資料夾重新導向
 
                                    *我們可以知道資料夾重新導向下有許多類別(Exsample:桌面,文件….下載等)*
 
                                      此些類別完全適用且符合資料夾路徑對應的OS僅有: Windows 7 與Windows VISTA 新系統架構
                                    
                                      舊系統Windows XP, Server 2003, Server 2000, 僅適用以下資料夾重新導向類別套用
                                     
                                      我的文件,我的圖片,開始功能表 三類別 
   
    
 
      基本: 我們設計將每個人資料夾重新導向同一位置(便於存放管理)
           
      進階:當然我們可以一群組劃分多個重新導向資料夾設置
 
    
 
     目標資料夾位置:
 
     為每個使用於根路徑建立一個資料夾:  即是:當被資料夾重新導向GPO套用的User(Or組織)假設為yadier,即會在
 
                                                                        \mikedata_test                #此路徑下建立一個是用者資料夾Ex: yadier      
 
                                                                                                                 [即是: yadier 之我的文件夾實際存放的位置]       
 
      根路徑:  \mikedata_test       #請填入如左所述     
                                                          
 
    
 
      接者切換[設定值]: 請將一併將重新導向原則套用至window 2000 ,windows 2003, Windowxp….打勾
 
                                       預設此OPTION在Server 2008 是未開啟(可能希望企業加速汰換成vista或windows 7 = =")
 
                                       若您工作站為舊版Windows XP,Windows  Server 2003 ,有使用到資料夾重新導向功能 
 
                                      請務必勾選此OPTION,若不信邪不勾選此OPTION,此GPO一輩子都不會生效……
 
     
 
    資料夾重新導向GPO: 經由上面幾個步驟我們設置完成此GPO接下來是做[繫結]GPO動作   
 
                                         我們打開[群組原則管理]工具
 
                                         套用目標:  OU = solo, User = yadier    #我們將利用 SOLO此組織下User yadier進行套用測試
 
                                         點選solo此組織(右鍵): 連結至現有GPO(選擇資料夾重新導向)即可
 
    
 
    接者我們檢查此GPO繼承內容是否已符合我們需要(下圖顯示已OK)
 
    
 
    此階段我們必須下 gpupdate /force  強制使GPO套用至組織&生效
 
   
 
   
(4.)工作站登入測試(WindowsXP):接者我們利用yadier 此網域帳號登入該工作站
 
                                                        我們點開[我的文件]: 很明顯的,我們可以發現此資料夾路徑已被導向至遠端File Server
 
                                                                                             *套用此GPO之前為本機路徑*
 
     
 
      最後我們切換至[AD角色]: 我們查看\mikedata_test 實體路境內容有何變動(已新增一個名為yadier 子目錄)
 
                                                    此資料夾內容將與yadier[我的文件]即為同步存取,順利完成此LAB
 
     

2016年4月12日 星期二

【雛型】Docx套版列印功能試作

資料來源

在我的程式開發生涯中,套版輸出指定格式的報表/表單一直是揮之不去的煩人差事,沒什麼營養,偏偏在每個案子裡幾乎都像小強一樣冒出來。
面對這類需求,轉成網頁是下策,因為列印時排版格式常會亂到一塌糊塗,鮮少讓人滿意。在經驗裡,Reporting Service是不錯的選擇(而且免費)。
但有些報表如確認書、通知書,在格式上並非Gird格式,跟Reporting Service最擅長的表格呈現有點差距,數量一多,要將User提供的Word檔一一轉成Reporting Service報表便成了苦差事,尤其某些文件被要求必須模仿到跟原始樣版分毫不差,常為了一兩公釐急死大丈夫。(有時,所謂原有樣版不過是某個User信手捻來的作品,並非官頒公訂,也沒人說過排版必須完全相符,但是你也知道的,各地風俗民情不同,尤其是澳洲...)
當以上情境發生,直接把User提供Word樣版裡文字換一換,照樣生出個Word檔來,在我看來是最簡便直覺省工的解法。


德瑞克:SQL Server 學習筆記: 使用 Reporting Services 組態管理員來初始化設定 SQL Server 2008 ...

德瑞克:SQL Server 學習筆記: 使用 Reporting Services 組態管理員來初始化設定 SQL Server 2008 ...: 實作練習 : 首度使用 Reporting Services 組態管理員來設定 SQL Server 2008 R2 Reporting Services 工作01:執行Reporting Services 組態管理員 步驟01. 點選「開始」\「所有程式」\「Micro...

CaryHsu - 學無止盡: 如何使用Reporting Service製作報表

CaryHsu - 學無止盡: 如何使用Reporting Service製作報表:         在前面幾個章節介紹了滿多Reporting Service的使用,相信大家都對Reporting Service有了一定的認識,但是最近接到滿多從不同領域轉而使用Reporting Service時遇到不知如何下手,所以此篇我們來介紹個最基本的,就是如何製作你的第...

網頁列印

資料來源

在研究 Web列印時,在網路上看到有關 Web列印的文章如下:
一、 IE直接使用 window.print或 webrower控件的 ExecWB方法來列印網頁。
      1. 關於 ASP.NET頁面打印技術的總結:大陸網站
      2. WEB打印的相關技術分析:大陸網站
      3. WEB列印大全:WebBrowser、FileSystem元件實現 WEB應用中的本地特定列印(LPT1)
     
二、 透過 CSS與 JavaScript,實現網頁列印。
      1. 網頁列印
      2. ASP.NET 線上列印寫法~在網上看到的
      3. js的打印頁面裡指定的內容:大陸網站
三、 撰寫元件(如 Java Applet或 ActiveX)。
      5. WEB打印:大陸網站,沒有提供原始碼,但有敘述其原理。
      6. applet打印的屬性和配置:大陸網站
四、 使用 RSClientPrint控制項或 Crystal Reports報表工具。
      2. Crystal Reports:for .NET Framework 1.1
五、 IE中執行 WinForm控制項,即在網頁中執行 Windows Form控制項或程式。
      1. 利用 XML的實現通用的 WEB報表打印:大陸網站
六、 Silverlight 4 或 Flex3及以上版本的列印功能。
      2. Silverlight的企業應用實戰:SL的4.0打印,讓我拿什麼說愛你?
          認為 Silverlight 4的缺點在於,列印時以點陣圖(Bitmap)方式呈現,所以檔案的大小變大,使得印表機容易產生問題。
七、 將報表轉成 PDF、Excel、Word等檔案輸出至 Client端,藉由套裝軟體(如 Adobe Reader或 Office軟體)印出。
      1. ASP.NET產生PDF檔
      2. 用 Flex和 .NET建造應用系統模組(上):說明如何匯出Excel檔、產生Word檔的步驟。
      4. NPOI 1.2教程(目錄):大陸網站
八、 付費的網頁列印元件或軟體。
2011/12/27新增
九、 使用 SVG(Scalable Vector Graphi,可縮放向量圖形)
      1. SVG - 維基百科
      3. SVG Tutorial
      4. svgweb:SVG Web is a JavaScript library which provides SVG support on many browsers,including IE、Firefox、Safari

網頁列印

開發必備:WEB列印程式碼大全

http://ltww.pbworks.com/w/page/9112654/%E7%B6%B2%E9%A0%81%E5%88%97%E5%8D%B0

web列印1


相信用B/S方式做過應用的人都可能會遇到這樣一個問題,如何方便、美觀地實現報表列印。如果使用瀏覽器的列印菜單列印的話,將把網頁上的一些無用的東西打到報表上,比如應用菜單等。因為選擇列印菜單列印網頁將會把網頁中的所有內容全部列印出來,如果你的應用有分幀則列印內容將包括各幀中的內容,而你實際要的內容只是其中一部分。所以有很多應用就只能把列印功能放到後台完成了。   針對這種情況,我們該怎麼辦?其實可以有多種方法實現網頁列印功能。

  一種方法就是使用專業的列印工具,如Crystal Reports(水晶報表)。用過Visual Studio 5.0的朋友肯定記得這個工具,不過那時的版本只有4.幾。現在的最新版本已達9了,近幾個版本的水晶報表都支援WEB列印。最簡單的方法是先用水晶報表製作好模板,然後使用ASP帶參數呼叫製作好的模板即可。水晶報表在網頁上產生報表後,可以直接列印,也可以轉存為其它的比較通過的檔案如Excel檔案。使用水晶報表可以製作出非常漂亮的樣式,關鍵在你對水晶報表的開發能力上,但由於水晶報表價格較高,只有當項目很賺錢時才買得起。

  第二種方法是購買第三方的網上列印控件,費用同水晶報表相比便宜,但效果性能到底如何則仁者見仁了。


  第三種方法是利用樣式表及JavaScript自定義函數實現。通過樣式表及JavaScript,實現網頁列印,效果也還可以。在此有一個實例請大家看看。下面是列印函數實現詳解:

  好了,一切就緒了,現在要做的就是呼叫DP函數,如果你將實現呼叫的按鈕設計在同一張網頁上,則直接呼叫即可;如果你用了分幀方法,實現呼叫的按鈕是在另一張網頁上,則在DP函數的第一行加入window.focus()命令,否則列印的只是有按鈕的網頁。
  第四種方法,實現是一種取巧的方法。一樣還是通過呼叫window.print()實現,只是將你要列印的內容專門產生一張網頁,而 列印按鈕在另一幀上。假設報表網頁在mainFrame上,按鈕在topFrame上,按鈕呼叫PrintReports()函數,PrintReports()函數如下即可實現列印工作。
function PrintReports() //topFrame網頁中的函數
{
try
// *******************************************************
// 錯誤處理,如果在mainFrame中的網頁沒有DP函數則不列印
// *******************************************************
{
window.parent.frames("mainFrame").DP();
}
catch(e)
{
alert("no object to print!");
}
}
function DP() // mainFrame網頁中函數
{
window.focus();
if (window.print)
{
window.print();
}
}

這是一個朋友推薦得方法,不知道還有沒有別得更好得方法


web列印2


看看








第1頁
這樣的報表
對一般的要求就夠了。

第2頁
看到分頁了吧
這樣的報表
對一般的要求就夠了。


WEB列印 3