보고서의 바닥 글 크기를 다르게 지정할 수 있는지 알고 싶습니다. 내가 하위 보고서를 사용하여 시도했다RDLC 동적 바닥 글 크기
- 첫 페이지는 0.75를 "
- 다른 페이지는 1.25가 바닥 글"바닥 글
하지만 슬프게도 헤더 :
는 내가 달성하고자하는 것은 다음과 같다 하위 보고서의 & 푸터가 표시되지 않고 RDLC의 디자인 제한이라는 사실을 알게되었습니다.
어떻게하면됩니까? TIA.
보고서의 바닥 글 크기를 다르게 지정할 수 있는지 알고 싶습니다. 내가 하위 보고서를 사용하여 시도했다RDLC 동적 바닥 글 크기
하지만 슬프게도 헤더 :
는 내가 달성하고자하는 것은 다음과 같다 하위 보고서의 & 푸터가 표시되지 않고 RDLC의 디자인 제한이라는 사실을 알게되었습니다.
어떻게하면됩니까? TIA.
RDLC를 사용하여이 문제에 대한 해결책을 찾을 수 없습니다. 이 기술에 대한 문서에서 특정 페이지의 머리글/바닥 글을 숨기고있는 경우에도 머리글과 바닥 글에 사용되는 공간이 모든 페이지에 예약되며 하위 보고서는 주 보고서의 머리글과 바닥 글 만 사용한다고 명시되어 있습니다. 또한 RDLC가 내 경험에 기반한 Crystal Reports와 비교하여 디자인에 대한 제어력이 적다는 기사를 읽었습니다.
이 두 가지 PDF 파일을 빌드하고 iTextSharp를 사용하여 병합 한 마지막 옵션을 사용했습니다. 좋은 점은 iTextSharp가 PDF의 페이지 수를 얻는 기능을 가지고 있다는 것입니다. 여기
PdfReader pdfReader = new PdfReader(renderedBytes);
// renderedBytes is the byte array generated by localReport.Render
pageCount = pdfReader.NumberOfPages;
내 코드의 일부입니다 :
int subreportPageCount = 0;
double gpa = 0;
byte[] subreportBytes = GenerateTranscriptOfRecordsSubreportPDF(unitOfWork, student, torType, out subreportPageCount, out gpa);
byte[] mainBytes = GenerateTranscriptOfRecordsMainPDF(unitOfWork, student, torType, torPurpose, subreportBytes, subreportPageCount, gpa);
byte[] renderedBytes = MergePDF(new List<byte[]>() { mainBytes, subreportBytes });
string reportFormat = Constant.REPORT_FORMAT_PDF;
string fileExtension = GetReportFileExtension(reportFormat);
string fileName = Constant.REPORT_TOR_FILENAME;
string fileNameWithExtension = string.Format("{0}{1}", fileName, fileExtension);
string mimeType = "application/pdf";
string fileNameExtension = "pdf";
string fileInfoName = string.Format("{0}.{1}", fileName, fileNameExtension);
ReportFile reportFile = new ReportFile();
reportFile.Content = renderedBytes;
reportFile.FileName = fileInfoName;
reportFile.MimeType = mimeType;
Session[Constant.SESSION_REPORT_FILE] = reportFile;
MergePDF :
byte[] MergePDF(ICollection<byte[]> pdfs)
{
byte[] renderedBytes = null;
using (MemoryStream ms = new MemoryStream())
{
Document document = new Document();
PdfCopy pdf = new PdfCopy(document, ms);
PdfReader pdfReader = null;
try
{
document.Open();
foreach (byte[] pdfBytes in pdfs)
{
pdfReader = new PdfReader(pdfBytes);
pdf.AddDocument(pdfReader);
pdfReader.Close();
}
}
catch (Exception)
{
renderedBytes = null;
}
finally
{
if (pdfReader != null)
{
pdfReader.Close();
}
if (document != null)
{
document.Close();
}
}
renderedBytes = ms.ToArray();
return renderedBytes;
}
}
I가 XML 및 DOC 파일을 생성 할 수 없습니다 때문에이 내 최후의 수단을 만들어
내 보고서를 처음부터 다시 작성하지 않으면보고하십시오. 다행히도 내 요구 사항은 단순히 PDF 파일을 생성하는 것입니다.
희망이 도움이됩니다.