abcPdf 구성 요소를 사용하면 이미지는 고해상도 PDF 문서가됩니다.
당신은 당신이 JPG 스트림
기본 아이디어로 PDF를 렌더링 당신이 가야 할 다음 w 텍스트, 글꼴, 색상, X, Y, H
을 통과해야 다음 할 수 이것 같이 있으십시오; 텍스트를 추가하는 코드를이고 또한 스트림 JPG 아주 아주 좋은 구성 요소로 PDF를 렌더링하는
private void addTextToPDF(string cmyk, int fs, string fontname, Double posx,
Double posY, Double mWidth, Double mHeight, String text, Double hpos)
{
text = secure.reverseCleanup(text);
int lettercount1 = 0;
foreach (char c in text)
{ lettercount1 ++; }
TheDoc.Color.String = cmyk;
TheDoc.FontSize = fs;
var theFont = fontname;
TheDoc.Rect.Position(posx, posY);
TheDoc.Rect.Width = mWidth;
TheDoc.Rect.Height = mHeight;
TheDoc.HPos = hpos;
TheDoc.Font = TheDoc.EmbedFont(theFont, "Latin", false, true, true);
int didwrite = TheDoc.AddText(text);
string addedchars = TheDoc.GetInfo(didwrite, "Characters");
var oldid = didwrite;
if (addedchars != lettercount1.ToString())
didwrite = 0;
while (didwrite==0) // hits this if first run did not add text
{
TheDoc.Delete(oldid);
fs = fs - 2;
TheDoc.Color.String = cmyk;
TheDoc.FontSize = fs;
theFont = fontname;
TheDoc.Rect.Position(posx, posY);
TheDoc.Rect.Width = mWidth;
TheDoc.Rect.Height = mHeight;
TheDoc.HPos = hpos;
TheDoc.Font = TheDoc.EmbedFont(theFont, "Latin", false, true, true);
didwrite = TheDoc.AddText(secure.reverseCleanup(text));
addedchars = TheDoc.GetInfo(didwrite, "Characters");
oldid = didwrite;
if (addedchars != lettercount1.ToString())
didwrite = 0;
}
}
public byte[] convertPDFToImageStream()
{
byte[] jpgBytes = null;
byte[] theData = null;
theData = TheDoc.GetData();
TheDoc.Clear();
TheDoc.Read(theData);
TheDoc.Rendering.DotsPerInch = getDPI();
TheDoc.Rendering.ColorSpace = "RGB";
jpgBytes = TheDoc.Rendering.GetData("preview.jpg");
return jpgBytes;
}
.
아마도 뭔가를 놓친 것 같지만 그보다 더 많은 정보가 필요하다고 생각합니다. –
그래, 나도 동의한다. 설명하고 어떻게 작동하는지 자세히 설명해주십시오. 아직이 프로젝트를 계획하지 않았다는 느낌이 들지 않습니까? 세부 사항은 우리가 당신을 도울 수 있도록 도와 줄 것입니다. 감사! –