OpenXML을 사용하여 처리중인 .docx
문서가 있습니다. 내가하는 일 중 하나는 원본 문서에서 이미지의 크기를 찾아서 으로 정확하게 새 이미지를 만들어 교체하고 이미지를 만드는 것입니다. 그러나 어떤 경우에는 그렇지 않습니다. 그 단어가 내 DPI 설정을 무시하기를 원하며 그 이유를 파악할 수없는 것 같습니다.이미지에서 DPI 설정이 무시되었습니다.
예는 XML을보고, 내가 가진 이미지를 가지고 :
<wp:extent cx="4572000" cy="2971800" />
변환 EMU의 내 원하는 300
DPI와 화소하는 것은,이 나에게 975
X 1500
픽셀의 크기 (즉 2971800 * 300/914400 = 975
및 4572000 * 300/914400 = 1500
의) 제공해야 . 그래서 나는 이미지를 생성하고 그것을 원본 대신에 밀어 넣는다. 문서의 이미지는 3.25" x 5"
이어야합니다. 그러나 결과 문서를로드하고 단어의 "크기 및 위치"를 보면 이미지의 원래 크기가 10.16"
x 15.62"
이고 두 차원 모두에서 32%
으로 축소되어 있다고 주장합니다. 문서의 패키지 이미지는 실제로 975
x 1500
입니다.하지만 Word에서 처리하는 것처럼 보입니다. 96
dpi (975/10.16 = 96
)입니다. 그래서 내 질문은, 왜이 일을하고 어떻게 멈추게합니까? 나는 명시 적으로 DPI를 BlipFill
에 설정했지만 무시되는 것으로 보입니다. 여기
<w:drawing xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
<wp:inline distT="0" distB="0" distL="0" distR="0" wp14:anchorId="1D5F6FCE" xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing">
<wp:extent cx="4572000" cy="2971800" />
<wp:effectExtent l="0" t="0" r="0" b="0" />
<wp:docPr id="2" name="Picture 2" title="work" />
<wp:cNvGraphicFramePr>
<a:graphicFrameLocks xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" noChangeAspect="1" />
</wp:cNvGraphicFramePr>
<a:graphic xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">
<a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/picture">
<pic:pic xmlns:pic="http://schemas.openxmlformats.org/drawingml/2006/picture">
<pic:nvPicPr>
<pic:cNvPr id="0" name="Picture 2" />
<pic:cNvPicPr>
<a:picLocks noChangeAspect="1" noChangeArrowheads="1" />
</pic:cNvPicPr>
</pic:nvPicPr>
<pic:blipFill dpi="300">
<a:blip r:embed="rId13" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
<a:extLst>
<a:ext uri="{28A0092B-C50C-407E-A947-70E740481C1C}">
<a14:useLocalDpi xmlns:a14="http://schemas.microsoft.com/office/drawing/2010/main" val="0" />
</a:ext>
</a:extLst>
</a:blip>
<a:srcRect />
<a:stretch>
<a:fillRect />
</a:stretch>
</pic:blipFill>
<pic:spPr bwMode="auto">
<a:xfrm>
<a:off x="0" y="0" />
<a:ext cx="4572000" cy="2971800" />
</a:xfrm>
<a:prstGeom prst="rect">
<a:avLst />
</a:prstGeom>
<a:noFill />
</pic:spPr>
</pic:pic>
</a:graphicData>
</a:graphic>
</wp:inline>
</w:drawing>
조금만 더 조사를 해본 결과 내가 포함하고있는 이미지에'96'dpi 세트가 있다는 사실이 밝혀졌습니다. 이미지를 새로운 비트 맵에 복사하고 dpi를 '300'으로 설정하여 문제를 해결했습니다. 'dpi' 속성이 실제로하는 일에 대한 문서는 꽤 좋지 않습니다. 5,000 쪽 이상의 페이지 스펙을 모두 검색 했음에도 불구하고'useLocalDPI' 속성에서 아무 것도 찾을 수 없었습니다. –