2013-02-21 1 views
0

편집 7 : 마침내 만들었습니다! 답변을 게시했습니다.asp.net의보고 서비스 및 DB 값을 사용하여 바코드가있는 "태그"인쇄

편집 6 : CSS를 폐기하고보고 서비스를 사용했습니다. 게시물을 편집하여 지금 내가 어디에 있는지 확인하십시오.

지금은 완전히 잃어 버렸습니다.
죄송합니다. 질문이 명확하지 않은 경우 필요한 경우 정보를 추가하도록 편집 할 수 있습니다. 가능한 한 많은 정보를 제공하려고 노력할 것입니다.
나는 몇 시간 동안 Google에서 검색 한 적이 없으며 나를 도와 줄 수있는 것을 찾지 못했습니다.

데이터베이스에있는 사용자의 정보를 사용하여 여러 개의 "태그"를 만들어 페이지를 인쇄하려고합니다. 또한 페이지 당 1 개의 태그 만 필요합니다.
나는 특정 이벤트의 모든 사용자에 대해 바코드를 생성하는 데 사용하는 ID뿐만 아니라 사용자 이름, 이름 및 성을 나에게 반환하는 저장된 proc를 얻었다.

CREATE PROCEDURE Schema.GetAllTags 
@IdEvent int 
AS 
BEGIN 
    SELECT Mem.Nom, Mem.Prenom, Mem.Pseudo, Use.IdUser 
FROM Schema.User Use 
JOIN Schema.Member Mem ON Use.IdMember = Mem.IdMember 
WHERE Use.IdEvent = @IdEvent 
END 


바코드는 ASP 페이지를 호출하고 그것을 내가 페이지 매개 변수에 내 저장된 프로 시저에서받은 ID를 제공하여 생성됩니다. ASP 페이지는 다른 페이지에 바코드를 표시하는 데 사용하는 이미지입니다.

divs, CSS, ASP 콘텐츠 및 모든 것을 사용하여 태그를 만들려고했는데 인쇄 부분을 제외하고는 ... 작동했습니다. 항상 크기가 조정되는 태그, 1 인치도 안되는 여백은 25.4mm (1 인치)로 만들고 그 위에 페이지의 URL을 항상 미리보기 인쇄에 표시했습니다. 모든 문제는 고객이 단순히 show url을 선택 해제하고 옵션에서 여백을 직접 설정하는 것으로 해결할 수 있습니다. 그러나 나는 문제를 해결하기 위해 클라이언트가 논문을하도록 강요하고 싶지 않습니다. 인쇄 옵션을 변경하지 않고도 여백과 URL이 1 인 2에서 3이되도록하고 싶습니다.

보고 서비스를 사용하면 인쇄 문제를 해결할 수 있다고 들었습니다. 그러나 나는보고 서비스에서 필요한 것을 만드는 방법에 대한 단서가 없습니다. (나는 당신에게 어떤보고 서비스가 마음에 드는지 알고 있습니다.) 거기에 내 바코드를 얻는 방법은 더 적습니다.

여기에 태그가 인쇄 페이지의 끝에 표시되어야합니다. 인쇄시 위쪽과 왼쪽에 1in 여백을두고 3in x 2in. 여기

What the tag should look like

나는 시도하고 내 태그를 인쇄하는 데 사용되는 CSS : 여기에 ASP (즉, 단지 1 태그를 보여주는 내 페이지입니다)

<style type="text/css"> 
    @page 
    { 
     margin: 25.4mm 25.4mm 25.4mm 25.4mm; 
    } 

    @media print 
    { 
     body * 
     { 
      visibility:hidden; 
     } 
     #tagPrint, #tagPrint * 
     { 
      visibility:visible; 
     } 
     #tagPrint 
     { 
      position:fixed; 
      top: 0px; 
      left: 0px; 
     } 
     #NOPRINT 
     { 
      display:none; 
     } 
    } 

을 그리고 :

<asp:UpdatePanel ID="UpdatePanel1" runat="server" > 
    <ContentTemplate> 
     <div id="tag" class="formRow"> 
      <div id="tagPrint" style="border:1px solid;width:76.2mm;height:50.8mm"> 
       <p style="text-align:center" /> 
       <br /> 
       <asp:Label ID="lblUserTag" runat="server" style="font-weight:bold;font-size:18px" /> 
       <br /> 
       <asp:Label ID="lblFullNameTag" runat="server" style="font-weight:bold;font-size:16px" /> 
       <br /> 
       <br /> 
       <asp:Image ID="imgBarcodeTag" runat="server" /> 
       <br /> 
       <asp:Label ID="lblIdTag" runat="server" style="font-weight:bold;font-size:16px" /> 
      </div> 
     </div> 
     </ContentTemplate> 
    </asp:UpdatePanel> 

현재 내 페이지에서 여러 태그를 생성하고 dataset.tables [0] .Rows를 리피터에 바인딩하기 위해 내 페이지에서 리피터를 사용하여 내 태그를 생성합니다. 태그를 생성하도록 허용합니다.

자바 스크립트와 CSS 만 사용하여 서비스를보고하지 않으면 어떤 방법이 있습니까? 보고 서비스와 함께 할 수 있습니까? (보고 서비스의 ASP 페이지를 사용하여 바코드를 만드십시오)? 내 바코드는 글꼴에서 왔기 때문에보고 서비스에서 글꼴을 사용하려면 작성기에 글꼴을 추가하는 다른 방법이 있습니까? (나는 클라이언트가 글꼴을 설치해야하는 것을 원하지 않는다) 태그의 pdf를 더 쉽고/좋게 만들겠습니까?

편집 : 보고서 서비스를 사용하여 작업하기 시작했습니다. 지금 당장 4 매개 변수로 작성된 보고서를 얻었습니다. (사용자 이름, 성명, 바코드 URL 및 ID) 다음에 무슨 일이 일어나는지에 대한 업데이트를 드리겠습니다.

편집 2 : 보고서 서비스를 만들고 페이지에 표시 한 후 관리합니다. 내 이미지를 보고서에 표시 할 수없는 것 같습니다. 그리고 내가 그랬더라도. 보고서를 여러 페이지로 만드는 방법이나 인쇄하는 방법을 모르겠습니다. 대신 Div 태그를 PDF로 만들어보고 그런 식으로 인쇄하려고했습니다. 나는 그것을 시도 할 기회를 얻었을 때 내일 업데이트 할 것이다.

편집 3 : 벽에 머리를 여러 번 부딪히는 것 외에 PDF로 작업을 시도했지만 작동하지 않습니다. 그것이 아마 플래시에서 할 수 있지만, 나는 플래시에서 그것을하고 싶지 않다는 것을 알았다. 그래서 저는 보고서 서비스로 돌아 왔습니다. 그리드에 리포트 서비스를 만들었고 그리드에 데이터 세트를 보내고 각 필드에 데이터를 저장했습니다. 보고서에서 사용할 수 있도록 글꼴을 설치했습니다. 이제는 내 데이터 집합을 보고서에 바인딩 할 수 없습니다. 나는 SqlDataSource와 ObjectDataSource를 시도했지만 아무것도 작동하지 않는 것 같다. 스크랩을 시도하는 새로운 프로젝트에서 또 다른 보고서를 시작했습니다. 어쩌면 내 현재 프로젝트의 어떤 것이 나를 반대하는 것일 수 있습니다. 나는 이제 막 포기합니다. -_-

편집 4 : 마침내 뭔가 효과가 있도록 만들었습니다. 내 페이지에 내 보고서가 제대로 작동했습니다.

Result

Report service

지금 나는 ... 할 남은 유일한 방법은 여러 페이지를 가지고 보고서를 얻을 관리 할 수 ​​있습니다.

편집 5 : 편집 내용을 다시 읽고 편집 2를 수행 한 후 약간 깜박했다는 사실을 깨닫고 매개 변수 항목을 스크랩하고 대신 데이터 세트를 사용했습니다. 또한 CSS와 div에 대한 모든 내용을 삭제하여보고 서비스를 사용하여 태그의 PDF 파일을 저장했습니다.

+0

귀하의 질문은 다소 모호합니다. 나는 일반적인 생각을 가지고있다. 그러나 거기에 특별한 문제 나 질문은 없다. 단지 "어떤 도움이나 링크도 인정 될 것이다."그러나 그것은 대답하기 불가능하다. 질문을 다시 작성하여 특정 질문을 할 수 있습니까? – Jeroen

+0

질문이 약간 모호하다는 것을 압니다. 나는 "어떤 도움/링크도 감사 할 것"이라고 편집했다. 더 구체적인 것을 위해. 나는 대부분 내가 옳고 그름을하고 있는지, 그리고 내가 원하는 것을 얻기위한 최선의 행동 방안이 무엇인지 알고 싶어합니다. – snaplemouton

답변

1

마침내! 나는 그것을 만든!

여기에 내가 한 것.

  1. 는 SSRS했다.
  2. 보고서 뷰어 및 ObjectDataBinder 만들기
  3. 저장된 프로 시저를 사용하여 SSRS에 대한 데이터 집합을 만듭니다.
  4. 보고서 뷰어를 SSRS에 바인딩합니다.
  5. SSRS를 주위에 두어 배치해야하는 것처럼 필드를 배치하십시오.
  6. SSRS의 페이지 여백을 1 인치로 설정하십시오. 보고서를 3x2 인치로 설정하십시오.
  7. 보고서 크기를 5x4 인치로 설정하십시오.
  8. 좌절감이 넘는 시간 동안 저의 승리를 시험하고 즐겼습니다.

참고 : 시각적 인 스튜디오가 나를 괴롭 히고 완전히 SSRS를 삭제하고 다시해야하기 때문에 많은 시간이 걸렸습니다.

결과 :

Result

완벽한 크기하는 codebar과 완벽하게 인쇄 여백을 가진 아름 다운 PDF 파일입니다. 승리!

1

SSRS에 대한 약간의 설명을 앞에 붙였습니다. 모든 것을 잘못하고 있습니다.

즉, 그래픽 충실도를 달성하기 위해 ASP 코드와 출력을 SSRS에 포함하려는 경우, 그런 일이 발생하지 않을 것입니다.

SSRS를 사용하는 이유는 다양한 보고서 스타일, 형식 및 출력 방법으로 높은 수준의 그래픽 충실도로 데이터 집합을 재생산 할 수 있기 때문입니다.

하지만 처음부터 다시 빌드해야합니다. HTML이없고, CSS도없고, ASP도없고, 닷넷도 없습니다. (예를 들어, 네, 네. 닷넷이 필요합니다.)

Whoa, whoa, whoa, 어디로 가나 요? 그렇게 어렵지는 않습니다.

그래서 ... 먼저 SSRS에서이 작업 목록을 설정해 보겠습니다. 이를 수행하기 전에 마법사 기반 보고서를 작성하여 ID 태그 데이터 세트를 보고서에 넣을 수 있습니다. SSRS가 데이터를 소비하여 보고서로 변환하는 기본적인 느낌을줍니다.

  1. 새로운 Reporting Services 프로젝트를 만듭니다.
  2. 이 프로젝트에 새 보고서를 추가하십시오. 솔루션 탐색기에서 Reports 폴더와 "Add New Report"를 마우스 오른쪽 단추로 클릭하십시오."
  3. 1 단계는 데이터 소스를 선택합니다. 실행중인 저장 프로 시저를 사용하여 데이터베이스에 연결하고 계속 연결을 테스트하십시오.
  4. 다음 단계는 쿼리 디자인입니다. Sproc을 사용하여 수행 했으므로 IdEvent에 하드 코드 된 값을 추가하십시오. 나중에 수정할 것입니다.
  5. 이제 보고서 형식을 선택하십시오. 이제는 Tabular를 사용하십시오. 행/열 역학이 매우 다양하며 간단한 인쇄 가능한 보고서를 찾고 있으므로 테이블을 사용할 수 있습니다.
  6. 테이블을 디자인 할 때 모든 출력 열을 Detils 그룹에 추가하기 만하면됩니다.
  7. 오래된 테이블 스타일을 선택하면 끝까지 다 버릴 수 있습니다.
  8. 유용한 보고서 이름을 지정하고 완료하십시오.

이제 RDL을 얻었으며 디자이너 영역에 데이터 소스, 데이터 세트 및 일부 코드가 있습니다. 디자이너 영역에서 "미리보기"탭을 클릭하여 지금까지 수행 한 작업을 미리 볼 수 있습니다. 꽤 감미롭고 모든 데이터가 테이블에있는 작은 행에 있습니다. 이제 뭐?

이제 작업 목록입니다. Google 검색을 시작하면이 모든 것을 배울 수 있으며 시간이 오래 걸리지 않으며 작업이 끝나면 올바른 형식의 ID 태그가 프린터에 준비되어 있습니다. 특정 문제에 부딪치게되면 -이 사이트가 필요한 것입니다. 맞습니까?

  1. IDEvent에서 저장 프로 시저로 전달할 매개 변수를 만듭니다.
  2. ASP 페이지에서 바코드를 검색하는 행에 동적 외부 이미지를 삽입하십시오. (힌트 : SSRS에서 "표현식"사용법을 읽어보십시오.)
  3. SSRS에서 페이지 나누기 옵션을 사용하여 페이지 당 1 개의 태그 만 인쇄하는 방법을 알아보십시오.
  4. 속성 창을 사용하여 표의 각 "행"을 태그처럼 보이게 포맷하십시오.
  5. 보고서를 PDF로 내보내거나 제공된 MHTML 버전을 사용할지 여부를 결정하십시오.

또한 .Net 응용 프로그램에 SSRS 보고서를 포함하는 방법을 배우고 싶을 수도 있습니다. (어쨌든 클라이언트에서 태그를 인쇄하는 방법은 무엇입니까?) 물론 작은 방법, 속성 및 특징이 많이 있습니다. 이 특정 작업의 범위를 벗어나지 만 나중에 프로젝트를 살펴볼 가치가있을 수 있습니다.

행운을 빈다.

+0

답장을 보내 주셔서 감사합니다. SSRS를 이미 만들었습니다. (내 편집물을보고 화면을 게시하도록 편집 할 것입니다.) 지금 당장 보고서를받을 권리가 있습니다. 누락 된 것은 여러 페이지를 작업하는 것입니다. – snaplemouton

+0

아, 내 고객이 3x2 인치 용지에 태그를 인쇄하고 있으며 태그를 인쇄하려면 1 인치 위쪽 및 왼쪽 여백이 필요합니다. (태그가있는 스크린 샷을보고 정확한 형식을 확인하십시오) – snaplemouton